Game with hand motion control

ABSTRACT

In various embodiments, the motion of a wristband is used to control games.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No.15/131,991 filed Apr. 18, 2016, which is a continuation of U.S. patentapplication Ser. No. 11/754,944 filed May 29, 2007 (now U.S. Pat. No.9,317,110), the disclosures of which are hereby incorporated byreference herein in their entireties.

BRIEF DESCRIPTION OF THE FIGURES

FIG. 1 shows a gaming system according to some embodiments.

FIG. 2 shows a communications network according to some embodiments.

FIG. 3 shows a gaming service provider in communication with a gamingcommunication device according to some embodiments.

FIG. 4 shows a communications network according to some embodiments.

FIG. 5 shows a gaming system according to some embodiments.

FIG. 6 shows a wireless gaming system according to some embodiments.

FIG. 7 shows a mobile gaming device with promotional content accordingto some embodiments.

FIG. 8 is a block diagram of a gaming system in accordance with someembodiments.

FIG. 9 is a block diagram of a payment system forming a part of thegaming system illustrated in FIG. 8, according to some embodiments.

FIG. 10 is a schematic diagram of a portable gaming device of the gamingsystem illustrated in FIG. 8, according to some embodiments.

FIG. 11(a) is a flow diagram of a method of use of a portable gamingdevice by a player, according to some embodiments.

FIG. 11(b) is a flow diagram of a particular method of using theportable gaming device by a player, according to some embodiments.

FIG. 12 is a flow diagram of a method of use of the portable gamingdevice by a gaming service operator, according to some embodiments.

FIG. 13 is a flow diagram of a method of use of the portable gamingdevice according to some embodiments.

FIG. 14a shows some single camera based embodiments.

FIG. 14b illustrates some 3-D (3 Dimensional) sensing embodiments.

FIG. 14c illustrates some embodiments with two camera “binocular” stereocameras.

FIG. 14d illustrates some steps according to some embodiments.

FIG. 14e shows a process for color mapping, according to someembodiments.

FIG. 15 shows the hardware components of an implementation of themulticamera control system, and their physical layout, according to someembodiments.

FIG. 16A shows the geometric relationship between the cameras andvarious image regions of FIG. 15, according to some embodiments.

FIG. 16B shows an image captured by one of the cameras of FIG. 15,according to some embodiments.

FIG. 17 is a flow diagram showing the processes that are performedwithin a microcomputer program associated with the multicamera controlsystem, according to some embodiments.

FIG. 18 is a flow diagram showing a portion of the process shown in FIG.17 in greater detail, and in particular, the processes involved indetecting an object and extracting its position from the image signalscaptured by the cameras, according to some embodiments.

FIG. 19A shows sample image data, presented as a gray-scale bitmapimage, acquired by a camera and generated by part of the process shownin FIG. 18, according to some embodiments.

FIG. 19B shows sample image data, presented as a gray-scale bitmapimage, generated by part of the process shown in FIG. 18, according tosome embodiments.

FIG. 19C shows sample image data, presented as a gray-scale bitmapimage, generated by part of the process shown in FIG. 18, according tosome embodiments.

FIG. 19D shows sample image data, presented as a gray-scale bitmapimage, generated by part of the process shown in FIG. 18, according tosome embodiments.

FIG. 19E shows sample data, presented as a binary bitmap image,identifying those pixels that likely belong to the object that is beingtracked in the sample, generated by part of the process shown in FIG.18, according to some embodiments.

FIG. 20 is a flow diagram showing a portion of the process described inFIG. 18 in greater detail, and in particular, the processes involved inclassifying and identifying the object given a map of pixels that havebeen identified as likely to belong to the object that is being tracked,for example given the data shown in FIG. 19E, according to someembodiments.

FIG. 21A shows the sample data presented in FIG. 19E, presented as abinary bitmap image, with the identification of those data samples thatthe processes shown in FIG. 20 have selected as belonging to the objectin this sample, according to some embodiments.

FIG. 21B shows the sample data presented in FIG. 19E, presented as a bargraph, with the identification of those data samples that the processesoutlined in FIG. 20 have selected as belonging to the object, withspecific points in the graph being identified, according to someembodiments.

FIG. 21C shows a difference set of sample data, presented as a binarybitmap image, with the identification of those data samples that theprocesses shown in FIG. 20 have selected as belonging to the object andkey parts of the object in this sample, according to some embodiments.

FIG. 22 is a flow diagram that shows a part of the process shown in FIG.18 in greater detail, and in particular, the processes involved ingenerating and maintaining a description of the background region overwhich the object occludes, according to some embodiments.

FIG. 23A shows the geometry on which Eq. 3 is based, that is, an angledefining the position of the object within the camera's field of view,given the location on the image plane where the object has been sensed,according to some embodiments.

FIG. 23B shows the geometry on which Eq. 4, 5 and 6 are based, that is,the relationship between the positions of the cameras and the objectthat is being tracked, according to some embodiments.

FIG. 24 is a graph illustrating Eq. 8, that is, the amount of dampeningthat may be applied to coordinates given the change in position of theobject to refine the positions, according to some embodiments.

FIG. 25A is an example of an application program that is controlled bythe system, where the object of interest controls a screen pointer intwo dimensions, according to some embodiments.

FIG. 25B shows the mapping between real-world coordinates and screencoordinates used by the application program in FIG. 25A, according tosome embodiments.

FIGS. 26A and 26B are examples of an application program that iscontrolled by the multicamera control system, where the object ofinterest controls a screen pointer in a three dimensional virtualreality environment, according to some embodiments.

FIG. 27A shows the division of the region of interest into detectionplanes used by a gesture detection method to identify a gesture that maybe associated with the intention to activate, according to someembodiments.

FIG. 27B shows the division of the region of interest into detectionboxes used by a gesture detection method to identify a gesture that maybe associated with selecting a cursor direction, according to someembodiments.

FIG. 27C shows an alternate division of the region of interest intodirection detection boxes used by a gesture detection method to identifya gesture that may be associated with selecting a cursor direction,according to some embodiments.

FIG. 27D illustrates in greater detail the relationship of neighboringdivisions of FIG. 27C, according to some embodiments.

FIG. 28 depicts the exterior appearance of a device according to someembodiments, in a state where the device is in the neutral position.

FIG. 29 depicts an example of an internal architecture of theimplementation of FIG. 28, according to some embodiments.

FIG. 30 is a flowchart illustrating a method in accordance with anotherexemplary implementation, according to some embodiments.

FIGS. 31A to 31D depict examples of tilt regions that are defined abouta neutral axis, according to some embodiments.

FIG. 32 illustrates a top exterior view of an example device accordingto another exemplary implementation, according to some embodiments.

FIGS. 33A to 33E illustrate example indicators according to someembodiments.

FIGS. 34A and 34B illustrate front and side views, respectively, of thedevice of FIG. 32, shown in the neutral position, according to someembodiments.

FIGS. 35A and 35B illustrate front views of the device of FIG. 32, shownin a state where the FIG. 32 device is manipulated in a negative rollorientation and a positive roll orientation, respectively, according tosome embodiments.

FIGS. 36A and 36B illustrate side views of the device of FIG. 32, shownin a state where the FIG. 32 device is manipulated in a positive pitchorientation and a negative pitch orientation, respectively, according tosome embodiments.

FIG. 37 is a table showing one possible mapping of device orientationsused to output signals corresponding to characters and cases that areoutput when a control is selected, according to some embodiments.

FIGS. 38A and 38B illustrate a menu of symbols that is displayed inaccordance with another exemplary implementation, according to someembodiments.

FIG. 39 is an external view illustrating a game system F1 according tosome embodiments.

FIG. 40 is a functional block diagram of a game apparatus F3 shown inFIG. 39.

FIG. 41 is a perspective view illustrating an outer appearance of acontroller F7 shown in FIG. 39.

FIG. 42 is a perspective view illustrating a state of a connecting cableF79 of the controller F7 shown in FIG. 41 being connected to ordisconnected from a core unit F70.

FIG. 43 is a perspective view of the core unit F70 shown in FIG. 41 asseen from the top rear side thereof.

FIG. 44 is a perspective view of the core unit F70 shown in FIG. 41 asseen from the bottom front side thereof.

FIG. 45 is a perspective view illustrating a state where an upper casingof the core unit F70 shown in FIG. 41 is removed.

FIG. 46 is a perspective view illustrating a state where a lower casingof the core unit F70 shown in FIG. 41 is removed.

FIG. 47 is a perspective view illustrating a first example of thesubunit F76 shown in FIG. 41.

FIG. 48 is a perspective view of a state where an upper casing of thesubunit F76 shown in FIG. 47 is removed.

FIGS. 49A, 49B, and 49C are a top view, a bottom view and a left sideview of a second example of the subunit F76 shown in FIG. 41,respectively.

FIG. 50 is a perspective view of the subunit F76 shown in FIG. 41 asseen from the top front side thereof.

FIG. 51 is a top view illustrating an example of a first modification ofthe subunit F76 shown in FIG. 41.

FIG. 52 is a top view illustrating an example of a second modificationof the subunit F76 shown in FIG. 41.

FIG. 53 is a top view illustrating an example of a third modification ofthe subunit F76 shown in FIG. 41.

FIG. 54 is a top view illustrating an example of a fourth modificationof the subunit F76 shown in FIG. 41.

FIG. 55 is a block diagram illustrating a structure of the controller F7shown in FIG. 41.

FIG. 56 is a diagram illustrating a state of a game being generallycontrolled with the controller F7 shown in FIG. 41.

FIG. 57 shows an exemplary state of a player holding the core unit F70with a right hand as seen from the front surface side of the core unitF70.

FIG. 58 shows an exemplary state of a player holding the core unit F70with a right hand as seen from the left side of the core unit F70.

FIG. 59 is a diagram illustrating a viewing angle of a LED module F8L, aviewing angle of a LED module F8R, and a viewing angle of an imagepickup element F743.

FIG. 60 shows an exemplary state of a player holding the subunit F76with a left hand as seen from the right side of the subunit F76.

FIG. 61 shows an exemplary game image displayed on the monitor F2 whenthe game apparatus F3 executes a shooting game.

DETAILED DESCRIPTION

In various embodiments, a player may use motion as an input to a gameplayed on a mobile gaming device. The game may be a gambling game, suchas a game of video poker, a slot machine game, a game of roulette, agame of craps, or any other gambling game. The player may make a bet onthe game and may stand to win money depending on the outcome of thegame. The player may have money at risk on the game.

The motion used as input may include motion of the mobile gaming deviceitself. Thus, the player may tilt, shake, move, rotate, or otherwisemove the mobile gaming device. Such movements of the mobile gamingdevice may be interpreted by hardware sensors and/or by software ascommands or instructions for the play of a game. A motion may thus beseen as an initiation signal for a game, or as a signal to cash out.

In various embodiments, a player may be provided with audio feedback.The audio feedback may be supplied following a motion made by theplayer, or following a motion that has been recognized by the mobilegaming device. The audio feedback may be supplied during a motion thatis being made by the player. The audio feedback may enhance the gamingexperience for the player by providing sounds a player might hear whileplaying a game at an actual gaming table or at a standalone gamingdevice, such as a slot machine. The audio feedback may provideinformation to the player. The audio feedback may tell the player that amotion he has made has been recognized as a command, or the motion hehas made has not been recognized as a command.

In various embodiments, a player may be provided with force feedback orhaptic feedback. The mobile gaming device may create haptic sensationsusing springs, motors, resistors, or other devices that may createmotion, pressure, heat, or other tactile sensations or other sensations.Haptic feedback may allow the player to shake a mobile gaming device inhis hand and have the feeling that he is shaking dice, for example.

In various embodiments, a player may have a wristband. The wristband mayinclude motion sensors, such as accelerometers, for detecting motions.The player may move the hand wearing the wristband in particular ways inorder to issue commands in a game. In various embodiments, a wristbandmay provide haptic feedback.

In various embodiments, a player may wear a bracelet, wristwatch,wristband or other device around his wrist. The wristband may includeone or more of: (a) a processor (e.g., a semiconductor processor); (b) apower source (e.g., a battery); (c) a motion sensor (e.g., anaccelerometer; e.g., a gyroscope; e.g., a camera for determining motionbased on a changing visual image); (d) a transmitter (e.g., an antenna);(e) a receiver (e.g., an antenna); (f) a memory (e.g., a semiconductormemory); (g) a display device (e.g., a liquid crystal display screen);(h) a speaker (e.g., for transmitting audio outputs); (i) a hapticoutput device.

Wristband Logs Motions

In various embodiments, a wristband may track motions made by the playerwearing the wristband. For example, the motion sensors within thewristband may detect accelerations, changes in position, changes inorientation, angular displacements, paths, trajectories, or any othercomponents of motion. The wristband may track motions of the hand orwrist on which the wristband is worn. The wristband may store datarepresentative of the motions. Such data may be stored, for example, ina memory of the wristband. The wristband may also transmit an indicationof motions made to another device, such as to a mobile gaming device, toa stationary gaming device, or to a casino server.

In various embodiments, the wristband may store or forward raw data,such as data indicating every reading received from motion sensors. Invarious embodiments, the wristband may translate the raw data into morecondensed or more higher level data. For example, a series of readingsfrom motion sensors in the bracelet may be translated into command. Thatis, the player wearing the wristband may have made a motion to give acommand. The wristband may then store the command rather than the exactposition of the wristband as a function of time. The wristband may alsotransmit the command to another device, e.g., via a transmitter on thewristband.

Motions Constitute Commands in a Game

In various embodiments, a motion of the wristband may be interpreted asa command in a game. A player may move his hand up and down, forexample, in order to initiate the spin of reels in a slot machine game.A player may also move his hand in such a way as to signify commands to:(a) cash out; (b) hold a card in video poker; (c) discard a card invideo poker; (d) double down in blackjack; (e) choose one of severaloptions in a bonus round; (f) make a bet of a certain size; (g) show alist of game instructions; (h) initiate a bonus round; (i) select apay-line to play; or to make any other command in a game, or to make anyother command. The wristband may store a table which associatesparticular motions with particular game commands. Upon receiving sensorreadings that are indicative of a particular motion, the wristband maylook up in the table the motion corresponding to the command. Thewristband may then transmit the command to a mobile gaming device, astationary gaming device, or to another device, such as to the casinoserver. The casino server may relay the command to another device, suchas to a stationary gaming device or to a mobile gaming device. Invarious embodiments, the command may then be executed or followed in thegame.

Wristband Communicates with Mobile Gaming Device

In various embodiments, a wristband may communicate with a mobile gamingdevice. The wristband may have an antenna and receiver for this purpose.The mobile gaming device may similarly have an antenna and receiver forcommunicating with other devices. The mobile gaming device and thewristband may communicate via various protocols, such as via Bluetooth,Wi-Fi, or via any other protocol.

The Wristband Controls Other Devices

The wristband may be in communication with a mobile gaming device,stationary gaming device, or with any other device. The wristband maydetect motions of a player, such as motions of the player's hand. Thewristband may interpret the motions as commands for a device with whichthe wristband is in communication. The wristband may transmit thecommands to the device and the other device may thereupon follow thecommands. In some embodiments, the wristband captures raw data, such asa series of positions of the players wrist as a function of time. Theraw data is transmitted to another device. The other device theninterprets the raw data as a command.

Communication with Multiple Devices at Once

In various embodiments, a wristband may be in communication with two ormore devices. The wristband may be in communication with two or moredevices at once. The wristband may transmit a single signal which may bereceived at both a first device and a second device. For example, acommand transmitted by the wristband may be received at a first slotmachine and at a second slot machine. In some embodiments, a firstdevice and a second device may emit signals nearly simultaneously. Thewristband may receive both signals.

In some embodiments, a player may identify himself to two or moredevices, such as to two or more stationary gaming devices. The playermay provide some proof of identity, such as a player tracking card,biometric, or a device (such as a wristband) with an identifier (e.g., aunique identifier) that can be tied to the player. The player mayauthorize or enable communication between his wristband and the two ormore devices. As part of the authorization, the player may agree to playgames on each of the two or more devices. Thus, in some embodiments, theplayer may authorize the two or more devices to interpret signals comingfrom the players wrist band as command signals to be used in a game. Insome embodiments, the player may present his wristband to the two ormore devices. For example, the player may bring his wristband to withina few inches of an RFID reader on a slot machine. The slot machine maypick up a signal from an RFID tag on the wristband. The devices maythereafter recognize commands received from the wristband presented, butnot from other wristbands. Thus, the devices may accept commands fromthe wristband for some period of time. In various embodiments, commandsmay be accepted until some termination command is received, until nomore commands are detected (e.g., the wristband has been switched off orhas moved out of communication range of the devices), until a certainperiod of time has passed, or until some other termination circumstancehas occurred. In order to resume providing motion-based commands to adevice, the player may once again authorize the receipt and use ofcommands from his wristband. The player may present his wristband again,for example.

In various embodiments, a player may engage in play at two or moregaming devices at once. The player may make motions and an indication ofsuch motions (e.g., a command that has been derived from such motions)may be transmitted to the two or more gaming devices. Each of the two ormore gaming devices may execute the command. Thus, in some embodiments,a player may conveniently play two or more games simultaneously whileavoiding repetition of commands for each individual game. For example, aplayer may use a single shake of the wrist to start games at each of twoslot machines.

In some embodiments, a first device may receive data (e.g., motion data)from a wristband. The first device may interpret the data as commandsand may conduct a game based on the commands. A second device mayreceive the same data from the wristband. The second device may transmitthe data (or an interpretation of the data) to friends of the player orto other parties, such that the other parties can follow what the playeris doing. The second device may also transmit to friends of the playeror to other parties an indication of game outcomes, payouts and otheroccurrences related to games played by the player. In some embodiments,a player may use the motions from his wristband to play several games atonce. Data, such as outcomes, from the games may be transmitted to acasino server or to another device. Data may be made available forviewing by other parties, such as by the player's friends or by otherswho will play their own games using the random occurrences that happenedin the player's game (e.g., others may bet on outcomes generated in theplayers game).

In various embodiments, a player may play at two gaming devices at once.However, each command made by the player (e.g., through a motion) mayapply to only one gaming device at a time. For example, a player maymake a first command which applies only to a first game at a firstgaming device. The player may then make a second command which appliesonly to a second game at a second gaming device. The player may thenmake a third command which applies only to the first game at the firstgaming device. In various embodiments, two gaming devices may each becontrollable by their own set of motion commands, where there is littleor no overlap between the motions used for commands. Thus, for example,a motion made by a player may correspond to a valid command at one ofthe gaming devices but not at the other one. A different motion may notcorrespond to a valid command at the first gaming device, but it may atthe second.

Times When a Data Stream From a Wristband is Not Picked Up

In various embodiments, a device may be within communication range of awristband that is transmitting data, yet the device may fail to receivethe data, or the device may fail to interpret the data, or the devicemay fail to use the data. A device may be a mobile gaming device orstationary gaming device, such as a slot machine, for example. A devicemay fail to use data from a wristband if one or more of the following istrue: (a) the player with the wristband has not identified himself tothe device; (b) the player with the wristband has not provided proof ofidentification to the device; (c) the wristband is transmitting commandsthat do not make sense to the device; (d) the player with the wristbandhas not made at least some physical contact with the device (e.g.,pressing a button on the device); (e) the player has not informed thedevice that it should be expecting motion commands from the wristband;(f) the device is currently accepting motion commands from a differentwristband; (g) the player does not have a high enough credit balance toplay games at the device (e.g., the player has a credit balance ofzero); (h) the player has not made physical contact with the device in apredetermined period of time (e.g., the player has not physicallypressed a button on the gaming device in the last 10 minutes); or if anyother circumstance is true.

Biometric as Game Input

In various embodiments, the wristband may sense a pulse, a temperature,a skin conductivity level, a moisture level, an electric field (e.g.,from nerve impulses), a degree of muscle tension, or any other biometricsignal from the player. The signal may be translated into a number. Forexample, a numerical temperature reading in degrees Fahrenheit may beused as a seed for a random number generator, which is in turn used togenerate an outcome in a game.

In various embodiments, a biometric reading received at a wristband mayindicate that the wristband is still being worn. If the wristbanddetects a pulse, for example, the wristband or another device may inferthat the wristband is being worn by a player and hasn't been taken off.In various embodiments, a mobile gaming device, a stationary gamingdevice, or another device may take actions based on signals receivedfrom a wristband only if the wristband is currently being worn (orappears to be worn based on biometric signals received from thewristband). In some embodiments, if there is a break in biometricsignals received at the wristband (e.g., the wristband no longer detectsa pulse), then the wristband may transmit a signal to the casino serveror to some other device. The signal may indicate that there has been abreak in the biometric signal detected at the wristband. The casinoserver may, accordingly, instruct other devices not to follow commandsor signals received from the wristband until the wristband has beenreestablished on a player. In some embodiments, the wristband must bereestablished on the player in the presence of, or with the help of acasino representative before signals from the wristband will be honoredby another device. In some embodiments, if there is a break in abiometric signal detected at a wristband, the wristband may send asignal summoning medical personnel. For example, the wristband may senda signal to the casino server indicating that a pulse is no longerdetected.

Wristband Broadcasts Data that Identifies the User

In various embodiments, the wristband may transmit or broadcast datathat identifies the player wearing the wristband. The wristband maybroadcast a player tracking card number, a player name, a player alias,a player room number, a player credit card number, or any otherinformation about a player that may be used to identify the player. Insome embodiments, the wristband may transmit a signal derived from abiometric reading. For example, the wristband may broadcast a signalderived from a pulse or electro-cardiogram reading taken from theplayer. The biometric reading may serve to uniquely identify the player.

In various embodiments, a signal which is broadcast from a wristband andwhich identifies a player may allow the player wearing the wristbandcertain privileges. A players hotel room door may be unlocked remotely(e.g., the door may unlock without requiring physical contact from a keyor other device). The hotel room door may unlock once it receives thesignal from the player's wristband identifying the player. The playermay also be allowed to gamble at a particular gaming device. The playermay be allowed to enter certain areas of the casino based on theidentity provided from his wristband. In various embodiments, thewristband may provide a player identifier to allow a player to receiveaccess to a balance of funds or to another financial account. The playermay use the funds, for example, to gamble or to make purchases. Forexample, a player may approach a gaming device. The player may have anaccount with a positive balance of funds stored with the casino server.When the player's wristband transmits a player identifier to the slotmachine, the slot machine may receive the identifier and transmit anindication of the identifier to the casino server. The casino server maythen authorize the player to gain access to his funds. Some or all ofthe players funds may then be made available for use on the gamingdevice (e.g., in the form of a credit balance). The player may then usethe funds for gaming.

In various embodiments, a wristband may be power constrained due to thesmall available volume within the wristband within which to include abattery or other power source. The wristband may take various steps toconserve power. In some embodiments, the wristband may periodicallytransmit signals to another device, such as to a mobile gaming device orsuch as to a stationary gaming device. For example the wristband maytransmit a signal to a mobile gaming device every 50 milliseconds, wherethe signal consists of a string of bits. The signal may include data orinformation descriptive of motions made by the wristband since the lastsignal transmission. In various embodiments, the time between signaltransmissions may vary based on what data or information needs to betransmitted by the wristband. For example, if the wristband has beenmotionless, the time between signal transmissions may be extended to 200milliseconds. If the wristband starts moving again, the time betweensignal transmissions may be reduced back to 50 milliseconds. Thus, invarious embodiments, the time between when signals are transmitted bythe wristband may vary based on the motion of the wristband and/or basedon motion detected by the wristband. In various embodiments, the timebetween when signals are transmitted by the wristband may vary based onthe amount of information the wristband has to communicate to anotherdevice. For example, if the player is actively involved in a game, thewristband may transmit signals frequently. If the player is not activelyinvolved in a game (e.g., if the player has not initiated game play at astationary gaming device or mobile gaming device; e.g., if the player isnot in an area where gaming is permitted), then the wristband maytransmit signals relatively less frequently. In various embodiments,when the wristband is not moving, the wristband may periodically send ashort or concise signal indicating that the wristband is stilloperational or still available for use. However, the signal may indicatethat the wristband is currently not in use or not being used for a game.

In various embodiments, the wristband may derive power or energy frommotions of the wearer's arm, or from other motions of the wearer. Thewristband may derive energy from its own motion, which may be caused bythe motion of the arm to which it is attached. Devices for harnessingelectrical energy from motion may include piezoelectric devices ormechanical rotary magnetic generators. Power sources such as those usedin the Fossil kinetic watch or in the Ventura kinetic watch may also beused.

In various embodiments, the wristband may detect relative motion betweenit and another device. For example, a player may wear two wristbands.One wristband may transmit signals of a fixed strength to the otherwristband. Based on the distance between the wristbands, the signal willappear relatively strong (e.g., if the wristbands are close) orrelatively weak (e.g., if the wristbands are far) at the receivingwristband. In this way, it may be determined how close the wristbandsare to one another. The relative motion of a wristband may be determinedrelative to any suitable device. A player may wear a device elsewhere onhis body, such as a belt buckle which can transmit or receive signals. Awristband may transmit or receive signals to any fixed device externalto the person, such as to a receiver attached to a wall, ceiling, floor,or gaming device.

In various embodiments, a wristband may detect a drinking motion. Thewristband may detect a rotation in a wrist via orientation sensors inthe wristband. If there is significant rotation of the wrist, it may beinferred that the player has almost finished a drink, thus requiring theplayer to tilt the drink significantly. Accordingly, a casinorepresentative may be instructed to provide the player with a new drink,and/or the player may be asked if he would like another drink.

Technologies for Harvesting Energy for a Wristband

Various technologies for harvesting energy from the environment or fromambient conditions are described in the paper, “Energy Scavenging forMobile and Wireless Electronics” by Joseph A. Paradiso and Thad Starner.As of May 11, 2007, the paper was available athttp://www.media.mitedu/resenv/pubs/papers/2005-02-E-HarvestingPervasivePprnt.pdf.

Radio frequency identification systems allow a tag to derive energy froma remote or non-contiguous source (e.g., the tag reader). The tagreceives radio frequency energy from the tag reader inductively,capacitively, or radiatively.

Solar cells may allow a mobile device, such as a wristband, to deriveenergy from ambient light. An example technology includes crystallinesilicon solar cells.

Thermoelectric generators may allow the derivation of energy from heattransfer. These generators may take advantage of temperature gradients,such as differences between human body temperature and the surroundingair temperature. The Seiko Thermic wristwatch uses thermoelectricgenerators to power its mechanical clock components. One thermoelectrictechnology is Applied Digital Solutions' Thermo Life.

Various technologies allow energy harvesting from vibration or motion.Motion may be used to move a mass in a preferred or biased direction.The movement of the mass may wind a spring. The energy in the spring maythen be used to create direct mechanical energy (e.g., to move the handsof a watch), or may move a magnet, coil, or other component of agenerator to create electricity. Exemplary technologies for harvestingenergy from mechanical motion include the ETA Autoquartz, the Seiko AGS(automatic generating system), and Ferro Solutions' Harvester.Piezoelectric materials may deform in the presence of motion orvibration to produce electricity. Ocean Power Technologies, for example,has developed harvesters that are immersed in turbulent water and deformfrom the water currents to generate electricity. Some generatorscomprise capacitors with moving plates. On a charged capacitor, theinduced motion of one of the plates can generate an electric current.Piezoelectric generators and capacitive generators may be used toharvest energy from shoes during walking, for example.

Some generators comprise turbines that may be driven by ambientairflows.

Gaming Devices as Antenna Array

In various embodiments, each of two or more stationary gaming devicesmay include a component of an antenna array. Acting in conjunction, thegaming devices may detect and interpret signals from mobile gamingdevices or from wristbands. For example, each of two or more stationarygaming devices may have an antenna. The gaming devices may each pick upthe signal emitted by a mobile gaming device or by a wristband. Thesignal picked up at each of the antennas at the two or more gamingdevices may then be added up, perhaps with some time delay or phaseshift added at one or more of the gaming devices. Adding up signalsreceived at two or more antennas may reduce the signal to noise ratio,thus potentially allowing a signal from the mobile gaming device orwristband to be read with greater accuracy or at a greater distance, orthus allowing the mobile gaming device or wristband to transmit withless power and thus benefit from extended battery life.

New Batteries at the End of Every Shift

In various embodiments, the batteries or power sources in a wristbandmay be routinely replaced on a periodic basis. Batteries may bereplaced: (a) once a day (e.g., at the end of the day); (b) once pershift (e.g., at the end of a casino attendant's shift; e.g., at thebeginning of a casino attendant's shift); (c) once per hour; or on anyother basis. In various embodiments, a wristband may include anindicator light or some other output device to indicate a low powerlevel in its battery or power source. The battery may be changed orrecharged when the indicator light comes on.

Wristband Gives Player Location Information

In various embodiments, a wristband may broadcast a signal. The signalmay include a player identifier, such as a name or player tracking cardnumber. The signal may include information about the player's location.For example, the wristband may gather positioning information frombeacons or satellites, calculate its own position, and then transmit theposition information to gaming devices or to any receivers.

In some embodiments, a wristband determines a change in its ownposition, but not an absolute position. A receiver that picks up thesignal from the wristband may be able to determine the direction of thewristband from the receiver, but not the distance of the wristband. Theplayer wearing the wristband may then walk some distance, and theposition of the wristband may thereby change. The wristband may includeaccelerometers or other motion detectors which can be used to determinea change in a position, but not necessarily an absolute position. Thewristband may also include sensors for determining an orientation, suchas a compass. The wristband may thus determine a change in position in(e.g., measured in feet or meters) and broadcast this change to thereceiver. The wristband may further determine the direction in whichthat change in position occurred and broadcast this direction to thereceiver. Once again, the receiver may be able to determine thedirection of the wristband from the receiver at the new location of thewristband, but not its distance from the receiver. Based on the twomeasurements of the wristband's direction from the receiver, and basedon the distance moved by the wristband and based on the direction inwhich the wristband moved, the absolute position of the wristband may bedetermined. This is because in a triangle formed by the receiver, thewristband's initial position, and the wristband's final position, oneside and the two adjacent angles will be known. The side is the pathtraveled by the wristband (assuming it took the shortest path), and theangles can be found based on the directions from which the receiverdetected the wristband at its first and final positions, and based onthe direction in which the wristband itself traveled.

Wristband Used to Control a Mobile Gaming Device

In various embodiments, a wristband may be used to control a mobilegaming device. A wristband may transmit signals to a mobile gamingdevice where such signals provide instructions or commands as to how toproceed in a game. Such instructions may include instructions toinitiate game play, instructions to hold a particular card, instructionsto hit or stand (e.g., in blackjack), instructions to bet a particularpay-line, or any other instructions. A wristband may also transmitsignals to a stationary gaming device, where such signals provideinstructions to the stationary gaming device as to how to proceed in agame.

A wristband may determine its own motions through motion sensors, suchas through accelerometers. The wristband may interpret such motion ascommands to be used in a game. The wristband may transmit such commandsto a mobile gaming device or to a stationary gaming device in order tocontrol such devices. In some embodiments, the wristband records motiondata, such as distances moved, accelerations, trajectories, velocities,or any other motion data. The motion data may be transmitted to a mobilegaming device or to a stationary gaming device. At the mobile gamingdevice or at the stationary gaming device, the motions may be translatedinto game commands. In various embodiments, the wristband may transmiteither motion data or game commands to a casino server. The casinoserver may then transmit motion data or game commands to a mobile gamingdevice or to a stationary gaming device in order to control suchdevices.

In various embodiments, a wristband may be used to control or to issuecommands to any device. Such devices may include point of saleterminals, vending machines, kiosks, automated teller machines (ATM), orany other devices. For example, a player may make a series of motionswith his hand. The motions may be picked up by his wristband. Thewristband may interpret the motions as instructions for an ATM. Thewristband may transmit the instructions to the ATM. The ATM may then actin accordance with the instructions, e.g., by dispensing cash for theplayer.

Wristband for 2D Control

In various embodiments, a player may move his hand or arm in a plane.Such motions may direct a cursor on a screen to move in an analogousfashion. For example, if the player moves his hand first in onedirection and then in the opposite direction, the cursor would alsofirst move in one direction and then in the opposite direction. A playermay rest his arm on a flat surface, such as on a table surface. Theplayer may move his hand around on the table surface, thereby moving hishand in two dimensions. The wristband may thus be used to control theposition of a cursor on a screen, such as the screen of a stationarygaming device, mobile gaming device, or other device.

String Provides Force Feedback

In various embodiments, a stationary gaming device may include a string,cable, wire, or other similar component. The string may be wound arounda wheel, axle, spindle, shaft, or other device. The gaming device mayinclude motors for rotating the wheel. The rotation of the wheel in onedirection may release more string, while the rotation of the wheel inthe other direction may pull string in.

In various embodiments, the player may attach one end of the string tothe wristband. Depending on events in the game, the gaming device mayeither pull in on the string or let loose more string. This may have theeffect of pulling and releasing the player's wrist. This may providetactile feedback to the player. In some embodiments, the player may alsopurposefully pull on the string in order to make commands in the game.For example, the player may pull outwards on the string in order tocause reels of a slot machine game to spin. The faster or harder theplayer pulls the string, the faster the reels may spin.

Distinguishing Signals from Multiple Wristbands

In various embodiments, a gaming device may detect a signal from awristband. The wristband may transmit a player identifier, so that thegaming device would be able to recognize the identity of the player. Invarious embodiments, when one gaming device detects a signal from awristband, other gaming devices might also detect the same signal.Therefore, in various embodiments, a gaming device may determine whetherit was the players intention to communicate with it, or whether it wasthe players intention to communicate with a different gaming device.

In various embodiments, a gaming device may recognize that someone isplaying the gaming device. For example, the gaming device may detectactual button presses, a player tracking card may be inserted, currencymay be inserted, and so on. At the same time, the gaming device maydetect signals from a wristband. The gaming device may then display amessage or otherwise ask the player currently playing the machinewhether that player is the one whose wristband signal has been received.The gaming device may recognize a player identity from the wristbandsignal and may thus display the name of the player to the playerphysically present at the gaming device. If the player who is physicallypresent recognizes his own name, then the player may confirm that infact the gaming device is receiving wristband signals from him. Thegaming device may then allow the player to use motion controls toproceed with play of the game.

In various embodiments, a gaming device may recognize that there is awristband in the vicinity and also that the gaming device is beingplayed by a player who is physically present. Thus, a game may beconventionally started, e.g., through the physical press of a button.The gaming device may then ask the player physically present if he isthe same player indicated in a received signal from a wristband. If theplayer who is physically present answers in the affirmative, then thegaming device may ask the player whether he would like to proceed withplay using motion control.

In various embodiments, a gaming device may differentiate betweenmultiple signals coming from different wristbands as follows. Eachwristband may be associated with a unique identifier. Each wristband maybroadcast its own unique identifier. A gaming device may ask a playerwho is physically present which identifier corresponds to his wristband.In some embodiments, the gaming device may ask the player to enter theidentifier of his wristband. If the identifier matches an identifier ofa signal received from one of the wristbands, then the gaming device maythereupon react only to signals received from that wristband.

In various embodiments, a gaming device may ask a player to bring awristband near a reader. The reader may be an optical reader, an RFIDreader, a magnetic stripe reader, or any other reader. In this way thesignal belonging to the player physically at the gaming device maybecome clearly the strongest signal received at the gaming device. Thegaming device may then allow the player physically at the gaming deviceto proceed with play using his wristband. The player may then use somemotion control or he may use motion control for every command at thegaming device.

Reference Lights at a Stationary Gaming Device

In various embodiments, a stationary gaming device may include one ormore lights, beacons, transmitters, audio speakers, or other emitters.For example, a stationary gaming device may include two bright lightssituated on top of the gaming device. The emitters may serve asreference points for a mobile gaming device and/or for a wristband. Awristband may, for example, detect the light or other signal from twoemitters on a gaming device. The bracelet may use the two emitters as afixed reference frame based on which to determine its own orientation.For example, if the two emitters appear side by side from the vantagepoint of the wristband, the wristband may determine that its orientationis normal. If, however, the two emitters appear one on top of the other,then the wristband may assume it has been rotated 90 degrees. In variousembodiments, the emitters may output the same type signal, e.g., lightof the same wavelength and amplitude. In some embodiments, differentemitters may output different signals. This may allow a wristband ormobile gaming device to distinguish one emitter from the other in allorientations and to thereby make an even more accurate determination ofits own orientation. In various embodiments, a stationary gaming devicemay have more than two emitters. For example, a stationary gaming devicemay have three, four, or five emitters. In various embodiments, emittersmay be located in other places than just on a stationary gaming device.For example, emitters may be located on the ceiling, or on a wall.

In various embodiments, an emitter may emit light of a particularfrequency. An emitter may emit red light, green light, infrared light,or light of some other frequency. An emitter may emit light at multiplefrequencies. For example, an emitter may emit white light. An emittermay emit sound.

A wristband and/or a mobile gaming device may include sensors, cameras,microphones, or other detectors for detecting the output of theemitters. For example, a wristband may include a camera. The camera maydetect light from emitters on a gaming device. Based on the position ofthe emitters in an image captured by the camera of the wristband, thewristband may determine its own orientation.

In various embodiments, a gaming device may not necessarily havededicated emitters for detection by wristbands or mobile gaming devices.However, a wristband or mobile gaming device may detect particularfeatures of the gaming device. For example, the gaming device may have acandle on top which is meant to light up when a casino attendant issummoned to the gaming device (e.g., when a player at the gaming devicehas won a jackpot). A sensor in a wristband or mobile gaming device mayrecognize the image of the candle. For example, the wristband mayinclude a camera. The camera may capture images and attempt to matchportions of the image to a pre-stored image of a candle on a gamingdevice. Based on the orientation of the candle from the captured imagerelative to the orientation of the candle in a stored, reference image,the wristband may determine its own orientation. E.g., if the capturedimage appears to be a version of the reference image that has beenrotated 90 degrees, then the wristband may assume that it has beenrotated 90 degrees.

In various embodiments, sensors in a mobile gaming device or wristbandmay detect other features of a stationary gaming device. Sensors maydetect a pay table, a screen, a handle, betting buttons, a coin tray,graphics on the housing of the gaming device, a jackpot meter, or anyother features of the gaming device. For any feature, the wristband ormobile gaming device may have stored reference images or referencesignals. In order to detect or interpret a feature, the wristband ormobile gaming device may capture an image and attempt to match portionsof the image to one or more reference images. In the matching process,the wristband or mobile gaming device may manipulate the captured image,adjusting the size or orientation of the captured image in an attempt tobetter match a reference image. When there is a match (e.g., a portionof the captured image matches a reference image of a coin tray), thewristband or mobile gaming device may determine the degree of rotationof the captured image that was required to make the match. The degree ofrotation may then indicate the amount by which the wristband or mobilegaming device has been rotated.

In various embodiments, a gaming device may track the motion of awristband or of a mobile gaming device. The wristband may includebeacons or emitters, such as infrared emitters, light emitting diodes,or audio speakers. The wristband may include two or more emitters. Thegaming device may include detectors, such as cameras, microphones, orantennas. The gaming device may determine the positions or relativepositions of emitters on a wristband. For example, in a normal uprightposition, two emitters on a wristband may appear side by side. When thewristband is rotated 90 degrees, one emitter may appear above the other.Thus, based on the relative positions of two emitters on a wristband,the gaming device may be able to ascertain the orientation of thewristband. Also, the apparent distance between two emitters on awristband may provide an indication of distance of the wristband itselffrom the gaming device. For example, if two emitters on a wristbandappear close to one another, then it may be assumed that the wristbandis far away. On the other hand, if two emitters on a wristband appearfar from one another (at least relatively speaking), then the wristbandmay be assumed to be near. Through tracking the motion of the wristbandor the mobile gaming device, a gaming device (e.g., a slot machine;e.g., a video poker machine) may ascertain commands that are intended bythe player. The gaming device may execute those commands in a game thatit conducts. The gaming device may also transmit those commands toanother device, such as to another stationary gaming device or such asto a mobile gaming device.

Screen Directions for Motion Control

In various embodiments, a gaming device, such as a stationary gamingdevice, may provide instructions to a player as to how to use motioncontrol. Instructions may indicate one or more available commands thatthe player can give. For example, the gaming device may list commandsto: (a) start a game; (b) make a selection in a bonus round; (c) selecta card to discard in a game of video poker; (d) select whether to hit orstand in a game of blackjack; (e) select a pay line to bet on; or totake any other action in a game or otherwise. The gaming device may alsoprovide instructions as to how to issue commands. The gaming device mayindicate which motions are necessary to issue commands. The gamingdevice may show small videos or animations of people motioning withtheir hand. Thus, a player may see next to a potential command a smallvideo clip of a person moving his arm in a particular way. The videoclip may repeat constantly or it may play on demand (e.g., upon touch bythe player). The motions to be made in order to issue the command mayalso be spelled out in text form, such as “move your hand to the righttwice and then up once”. Instructions as to how to use motion controlmay be shown in many different forms. In some embodiments, a person maybe walked through tutorial or may have the opportunity to practicemaking motions. For example, instructions for making the motioncorresponding to the “start game” command may be played in the form of avideo clip. In other words, an animation of a person making a particularmotion may be shown on the display screen of a gaming device. The playermay be instructed to repeat the motion with his own wristband. Theplayer may be instructed to follow along with the video of the motionbeing performed. If the gaming device recognizes the motion, the gamingdevice may ask the player to following along in making the motion forthe next instruction. If the gaming device does not recognize the motionmade by the player (e.g., if the player has made wrong motion), then thegaming device may ask the player to repeat making the motion until hegets it right.

In various embodiments, when a player is playing a game at a gamingdevice (e.g., at a slot machine), and when the player makes a motion toissue a command, the gaming device may provide feedback as to how thegaming device interpreted the players motion. For example, the gamingdevice may display a text message, “you have motioned to start a newgame”.

Window of Time to Make a Motion

In various embodiments, there may be finite windows of time when agaming device (e.g., a stationary gaming device) will accept motioncommands. For example, there may be a 10 second window during which agaming device will accept motion commands. During other times, theplayer may make motions, but they will not necessarily register ascommands.

This may allow the player some freedom to make motions unrelated to agame (e.g., hand gestures in a conversation) during times other than thewindow in which commands may register. A window of time for makingmotion commands may open and close periodically. For example, a windowmay open up for ten seconds, then close for twenty seconds, then openfor another ten seconds, and so on. If a person makes a first motioncommand during the window of time, then the window of time may beextended. For example, the extension of the window of time may allow theperson to complete a full game before the window for making motioncommands closes. In some embodiments, a window of time for making motioncommands may persist so long as a game is in progress. In someembodiments, a window of time for making motion commands may persist fora predetermined period of time after the last motion command made by aplayer. This may allow the player to continue making motion commands foras long as he wants to. In some embodiments, there may be an alert orother indicator that a gaming device (e.g., a stationary gaming device;e.g., a mobile gaming device) is receptive to motion commands. Forexample, an indicator light on the gaming device may come on, or theindicator light may change from one color to another. Thus, for example,a light may be blue when a gaming device is receptive to motioncommands, and may be red when a gaming device is not receptive to motioncommands. In some embodiments, a player may turn motion control on oroff. For example, the player may instruct a gaming device to bereceptive to motion commands, or may instruct the gaming device toignore motion commands. A player may have to physically touch a gamingdevice in order to switch motion commands either on or off. In someembodiments, when a gaming device is not receptive to motion commands,the gaming device may still respond to a motion command which commandsthe gaming device to become receptive to other motion commands again.For example, the gaming device may then become receptive to motioncommands again.

In various embodiments, a first set of motions may correspond to movinga cursor, mouse pointer, or other indicator. A second set of motions maycorrespond to making a selection. For example, once a cursor is restingover a card or an image of a button, making a motion of the second setof motions may correspond to selecting the card (e.g., selecting thecard to be discarded), or to pressing the button. Motions from thesecond set of motions may be used, for example, to select an amount tobet, to select a pay line, to select a decision from a menu ofdecisions, or to make any other selection. Motions from the first set ofmotions may position a cursor for later selection, but may not yetcommit a player to a course of action. In some embodiments, motions inthe forward and back directions (e.g., from the player's perspective)may correspond to the second set of motions, e.g., to making aselection. Motions in other direction (e.g., up, down, left, right) maycorrespond to motions from the first set of motions, e.g., topositioning a cursor.

In various embodiments, a player may receive visual feedback as he makesa motion. A cursor may trace out on the screen of a gaming device (e.g.,a stationary gaming device; e.g., a mobile gaming device) a trajectorymade by the player's wristband as he moves his hand. To make aparticular command, the player may have to keep the cursor withincertain boundaries. For example, boundaries consisting of two concentriccircles may be displayed on the display screen of the gaming device. Theplayer may have to make a circle with the cursor while keeping thecursor outside of the inner circle but inside of the outer circle (i.e.,between the two circles). In some embodiments, there are points or dotson the screen. The player may need to make a motion so that a cursor onthe screen is moved between the two dots. In some embodiments, there maybe several pairs of dots. The player must move the cursor betweenvarious pairs of dots in some particular order in order to issue acommand. Different commands may require the cursor be moved betweendifferent pairs of dots, or between pairs of dots in different orders.

In various embodiments, a player may make motion commands to position acursor over a button. The player may make further motion commands toselect the button. Various buttons may correspond to different commandsor actions in a game. Thus, by making motions to position a cursor overan appropriate button, the player may make a desired command in a game.

Wristband Senses Muscle Strain on Wrist Muscles in the Form of aGrabbing Motion

In various embodiments, a player wristband may include a strain gauge.The wristband may be made of a pliant material, such as rubber. Thewristband may fit snugly to the players wrist. When the player closeshis fist, the player may tense certain wrist muscles. This may putadditional strain on the wristband as the girth of the players wrist mayexpand. The strain gauge may sense this extra strain on the wristband.The strain gauge may send a signal to the processor of the wristbandindicating the strain that has been detected. The strain gauge may alsosend a signal via an antenna or other transmitter to another device,such as to a mobile gaming device, to a stationary gaming device, or tothe casino server.

In various embodiments, a wristband may have one or more pressuresensors on the inside surface, e.g., the surface in contact with thewrist of the player. The pressure sensors may sense pressure from theplayers wrist, indicating the possible tensing of the wrist or flexingof the wrist muscles.

In various embodiments, a wristband may have temperature sensors. Thesensors may detect an increase in temperature at the wrist stemming fromincreased blood flow and/or from the more rapid burning of energy inwrist muscles. These sensor readings may correspond to a player'stensing of his wrist, such as when the player performs a grabbingmotion.

In various embodiments, electrical activity of the nerves or muscles inthe wrist may vary depending on whether the muscles are in a tensed orrelaxed state. Sensors in the wristband, such as antennae, may pick upthe electrical activity in the wrist and may interpret the electricalactivity as an indication that the wrist muscles are tensed or not.

In various embodiments, a tensing of the wrist muscles may beinterpreted as a command in a game. In various embodiments, a tensing ofthe wrist muscles may be interpreted as a selection of a button or achoice from among multiple options. In various embodiments, a tensing ofthe wrist muscles may correspond to virtually grabbing something in agame. For example, in a bonus round, a game character may grab the knobon one of three doors in order to open the knob. Since the tensing ofwrist muscles may be caused by a player actually making a grabbingmotion (e.g., in the real world), the player may use the grabbing motionas an intuitive way to select something or to grab something in a game.Thus, for example, the player may move a cursor through lineardisplacements of the hand, and may select something a cursor is on bymaking a grabbing motion.

In various embodiments, sensors or detectors could detect a grabbingmotion or other hand or wrist motions even when such sensors do not liewithin a wristband. For example, a camera may film the motions of aplayer's hand. Image processing algorithms may be used to recognizewhich motions have been made by the players hand. These motions may betranslated into commands in a game.

Thad Starner, Joshua Weaver, and Alex Pentland of the MassachusettsInstitute of Technology have developed a camera-based system forrecognizing American Sign Language. The system is describe in a paperentitled, “Real-Time American Sign Language Recognition Using Desk andWearable Computer Based Video”.

Receiver on Slot Machine

In various embodiments, a gaming device such as a slot machine mayinclude a Bluetooth transceiver. The transceiver may be built into thedevice. The transceiver may also take the form of a Bluetooth dongle,which may be plugged into a universal serial bus (USB) port of thegaming device. In various embodiments, a gaming device may include aWi-Fi transceiver. A gaming device may send and receive messages to andfrom a wristband or mobile gaming device using Bluetooth, Wi-Fi, orusing any other communication protocols.

Components of a Message from a Wristband

The data content of a signal from a wristband may include one or morecomponents. The signal may be understood to always include thesecomponents in a particular order, for example. For example, the first 3bits of the signal may indicate the start of a new message. The next 4bits may indicate the type of device providing the transmission (e.g., awristband; e.g., a mobile gaming device). The next 30 bits may providean identifier for the wristband. The next 100 bits of the signal mayprovide a player name. The next 20 bits may provide a command. The next10 bits may indicate that the signal has ended. In some embodiments, asignal may include one or more of the following portions or regions: (a)a region indicating the start of the signal; (b) a region indicating atype of device transmitting a signal; (c) a region indicating theintended recipient of the signal (e.g., a unique identifier for a gamingdevice; e.g., an identifier for the casino server); (d) a regionindicating a player identifier; (e) a region indicating a deviceidentifier (e.g., a unique identifier for the particular devicetransmitting the signal); (f) a region indicating the end of the signal;(g) a region indicating a player name; (h) a region indicating a commandto be used in a game; (i) a region indicating a game identifier (e.g.,an identifier for a game to which a command will apply); (j) a regioncontaining one or more error-checks; and any other region.

Confirmation of Player Presence and Identity at a Stationary GamingDevice

In various embodiments, a wristband may transmit a signal. The signalmay be received by a stationary gaming device. The signal may include anidentifier for the wristband. The gaming device may transmit theidentifier of the wristband to the casino server. The casino server maylook up the name of the player who has signed out the wristband (e.g.,the player who is currently using the wristband). The casino server maytransmit the name of that player to the gaming device. In someembodiments, the signal from the wristband may include a playeridentifier. The gaming device may transmit the player identifier to thecasino server. The casino server may in turn transmit the name of theplayer back to the gaming device. In any event, the gaming device maydetermine the name of the player. The gaming device may display amessage which indicates the name of the player. The message may be agreeting. For example, the message may say, “Hello, Sarah Jones!” Themessage may also ask a player to confirm his or her identity. A playermay confirm his or her identity by answering a secret question, byproviding a biometric (e.g., a fingerprint), by inserting a playertracking card, by inserting a credit card, by inserting a bank card, byinserting a drivers license, by flashing any of the aforementioned cardsin front of a camera, or in any other fashion. In various embodiments,the player may confirm his identity through physical contact with thegaming device. For example, the player may answer a secret question byphysically touching letters on a touch screen of the gaming device andspelling out the answer that way. When a player confirms his identitythrough physical contact with a gaming device, the gaming device can bemore assured that a gaming device is not being controlled bymotion-based or other wireless commands from a person other than theperson sitting at the gaming device.

Prominent Screen for Playing with Motion Control Only

In various embodiments, a casino or other venue may include a largedisplay screen. The screen may display a game. The screen may show theprogress and the action in a game, such as a game of slot machine or agame of video poker. Electronics or other devices associated with thescreen may allow the screen to receive motion inputs for play of a game.For example, there may be antennae for receiving signals from a player'swristband, or a camera for reading a player's motion commands. Aprocessor or other device may compute or determine game events or gameoutcomes. A player may provide value or currency for gambling byinserting a cashless gaming ticket. Thus, associated with the screen maybe a ticket-in-ticket-out device for accepting and dispensing cashlessgaming slips.

A player may play games at the large display screen. The player may makecommands in the game using motion control. For example, a wristband onthe player may detect motions made by the player's hand. An indicationof the motions made may be transmitted to the large display screen. Thelarge display screen may then steer the course of the game as dictatedby the players commands.

In various embodiments, a game with a large display screen andcontrolled by motions may be located at the end of each of two or morerows of slot machines. For example, at the end of each row of slotmachines or other gaming devices may be a large display screen whichfeatures games with motion control. Such games may be visible toeveryone in the row of slot machines. In this way, people playing slotmachines may watch the games played at the large screen and may betempted to try motion control themselves.

Toggle Button On Wrist Watch to Turn Functions On or Off

In various embodiments, a wristband may include a switch, button,toggle, or other device for selecting among two or more states. A switchmay be used to enable or disable motion control. Thus, when the switchis in one location, the player wearing the wristband may be able to usemotion control to control the action in a game. When the switch is inanother location, the player may be unable to use motion control tocontrol the action in a game. When the player does not desire to play agame at the moment, the player may flip the switch so that motion isdisabled. The player will then be able to make wrist gestures withoutworry that such gestures would effect a game outcome. When a playerwishes to play a game again and to use motion control in the game, theplayer may flip the switch to enable motion control once more.

In various embodiments, a player may use a switch or other device toswitch on or off other features of a wristband. A player may switchhaptic feedback on or off. For example, with a switch in one position,the wristband may provide force feedback or haptic feedback to a player.When the switch is in another position, the wristband may not providesuch feedback. A player may wish to turn off haptic feedback in order toconserve battery power in the wristband, for example. In someembodiments, a player may switch sound on or off. For example, at leastin one state, a wristband may emit audio signals. The audio signals mayrelate to a game (e.g., triumphant music may be emitted from a wristbandwhen the player wins). The audio signals may relate to a playerlocation. For example, the wristband may emit audio signals when aplayer enters a restricted area where gaming is not permitted. The audiosignals may relate to an account balance. For example, the wristband mayemit an audio signal when a player account balance reaches zero. Theremay be other reasons for audio signals to be emitted by wristbands.

In various embodiments, a wristband may include one or more buttons, oneor more sensors, one or more piezoelectric sensors, a batter, atransmitter, a receiver, and an onboard processor. The buttons may allowa player to change a setting or state of the wristband (e.g., to turnsound on or off). The buttons may allow a player to provide commands fora game, where such commands are not motion based. Sensors may includemotion sensors, such as accelerometers or gyroscopes. Sensors mayinclude position sensors, such as GPS sensors. Sensors may includetemperature sensors, pressure sensors, strain gauges, microphones, lightsensors, or any other sensors. Sensors may perform various functions.Sensors may detect motions so that such motions can be translated intocommands. Sensors may sense a player's position so that the player canbe told if he is in a permitted gaming area or not. Sensors may be usedto sense a tension or electrical activity in a players muscles, e.g., toderive motion commands. The transmitter may be used to communicate withanother device, such as a stationary gaming device, mobile gamingdevice, or casino server. The receiver may receive communications fromanother device, such as a mobile gaming device, a stationary gamingdevice, or a casino server. Communications received at the wristband mayreprogram the wristband. Such communications may provide the wristbandwith commands, for example. For example, a communication received by thewristband may instruct the wristband to shut off, due to a playersaccount balance reaching zero.

Shaking Hands

In various embodiments, the wristbands of two players may interact. Theinteraction may occur when the wristbands are brought close to oneanother. For example, when two players shake hands with the handswearing the wristbands, the two wristbands may interact.

In various embodiments, during an interaction, a wristband of a firstplayer may receive information from the wristband of a second player.The wristband of the second player may receive information from thewristband of the first player.

In various embodiments, a mobile gaming device of a second player mayreceive information from the wristband of a first player. In variousembodiments, a mobile gaming device of the first player may receiveinformation from the wristband of the second player.

In various embodiments, shaking hands may cause a bet to be made orsealed between the two players shaking hands. Technically, in someembodiments, the bet may be made when the wristbands of the two playersare within a predetermined distance (e.g., 5 inches) of one another fora predetermined amount of time (e.g., 5 seconds). In some embodiments,the bet may be made when the wristbands are within a predetermineddistance of one another for a predetermined time and when there is ashaking motion of one or both wristbands. The shaking motion maycorrespond to the shaking of hands. The wristbands may even transmit toone another information about the timing of the shaking motion to ensurethat the wristbands are shaking in sync, as would happen with a handshake. In various embodiments, a first player may prearrange the termsof a bet using a stationary gaming device or other device. For example,the first player may arrange a bet such that the first player will win$1 from the second player if the a spin of a roulette wheel ends upblack, while the second player will win $1 from the first player if thespin of the roulette wheel ends up red. Once the bet has been specified,the first player need only find a second player to shake hands with inorder to seal the bet. In various embodiments, it is possible that thefirst player would mischaracterize the terms of the bet to the secondplayer. Thus, in various embodiments, a first player may be allowed toprearrange only fair bets (e.g., bets where both sides have equalprobabilities of winning and/or where both sides have equal expectedwinnings and/or where both sides have zero expected winnings andlosses). In various embodiments, when players shake hands to make a bet,the terms of the bet may be displayed on one or both of the players'mobile gaming devices. Each player may have a window of time (e.g.,thirty seconds) to cancel the bet. To cancel a bet, a player may press a“cancel” button on his mobile gaming device, for example. If neitherplayer cancels the bet, an outcome may be generated and the bet may beresolved one way or the other.

In various embodiments, a first wristband may detect the proximity ofanother wristband. A wristband may be Bluetooth enabled so that thewristband can detect the proximity of another wristband transmittingwith the Bluetooth protocol. In various embodiments, a wristband may beprogrammed or configured to send and receive signals of other protocols,such as Wi-Fi.

In various embodiments, two or more players may shake hands in order tomake a bet with one another. The player who wins may depend on theoutcome of some game, such as a game conducted or simulated by a gamingdevice. In some embodiments, in order for the bet to be resolved, thetwo players must be in proximity of a gaming device, such as astationary gaming device. For example, in order for a bet to proceed,the two players may have to be standing in front of a slot machine. Theplayers may be required to be within a predetermined distance of aparticular gaming device, such as within two feet. The wristbands of oneor both players may communicate with the gaming device indicating thatthe players have agreed to a bet. One or both wristbands may communicateto the gaming device the terms of the bet, such as which game the betdepends on. The gaming device may then conduct the appropriate game tosatisfy the bet. For example, if the bet is on a game of video poker,then the gaming device may conduct a game of video poker. If the bet ison a game of blackjack, the gaming device may conduct a game ofblackjack. In various embodiments, the wristbands may communicate to thegaming device which player will win under which circumstances. Forexample, the wristbands may communicate to the gaming device that “JoeSmith” will win if the house wins in a game of blackjack, while “JaneSmith” will win if the player wins in the game of blackjack. The player,in this case, may refer to a hypothetical player that is being simulatedby a gaming device. The gaming device may play basic strategy or optimalstrategy on behalf of the hypothetical player. In some embodiments, twoplayers who make a bet on a game may play the game against one anotherusing one or more gaming devices. The players may indicate strategicdecisions at the gaming device(s). For example, if two players make abet on a game of blackjack, the players may be effectively agreeing toplay a game of blackjack against one another. The two players may playat a particular gaming device. During the course of the game, theplayers may provide decisions for the game. The players may providedecisions by physically pressing buttons on the gaming device orotherwise physically interacting with the gaming device. The players mayalso provide decisions by using motion controls, e.g., using theirwristbands.

Incentives for Shaking Hands

In various embodiments, there may be incentives to shaking hands withpeople. A person's wristband may track the number of times a person hasshaken hands with someone else, and/or the number of people with whichthe person has shaken hands. In some embodiments, after each handshake,a players wristband may transmit a record or other indication of thehandshake to the casino server. A wristband may transmit an identifierfor the other player or the other wristband with which the player madecontact. The casino server and/or a players wristband may track thenumber of other players with which a player shook hands. The casinoserver and/or the player's wristband may also track the names oridentifies of other players with whom a player shook hands. In variousembodiments, the player who shook hands with the most other players insome period of time (e.g., in one day) may win a prize, such as $1000.

In some embodiments, a mixer may be held in a casino or related propertyor in any other venue. The mixer may be an opportunity for singles tomeet, an opportunity for business people to make contacts, anopportunity for scientists to exchange ideas with colleagues, or anyother type of mixer. During the mixer, people may shake hands with oneanother. The wristbands of the people may automatically exchangeinformation, include names, contact information, email addresses, phonenumbers, biographical information, pictures, credentials, place ofresidence, age, gender, marital status, or any other information whichmay be appropriate to the circumstances, or any other information.

The wristbands of people who have participated in a mixer may transmitto a casino server or other device information about people with whomthey have shaken hands or otherwise made contact. A person who has beenat a mixer may later log onto a web site to see a summary list of peoplehe has met. The web site may include contact information for the people.In some embodiments, no contact information is provided. Rather, aperson must select who he/she would like to make contact with. If theperson selects another person, and that other person selects him/her,then the website may later provide both of them with each other'scontact information.

In some embodiments, during a handshake, the wristband of one person maytransmit information about that person (e.g., contact information) to amobile device (e.g., a mobile gaming device; e.g., a personal digitalassistant; e.g., a cellular phone) to the other person. In this way, atthe end of a mixer, a person may have stored on a mobile deviceinformation about other people he has met during the mixer.

In various embodiments, at the end of a mixer, a person may view imagesof people he/she had met at the mixer. Viewing the images may jog theperson's memory about people he/she has met. The person may selectpeople he/she is interested in having further contact with. The personmay then be given their contact information. In some embodiments, theperson may be given their contact information only if they have alsoexpressed interest in having further contact with the person.

In various embodiments, a mixer may be held at a bar, restaurant,lounge, gym, swimming pool, gambling floor, shop, or at any otherlounge.

Make Payments by Shaking Hands

In various embodiments a player may make a payment through shakinghands. A player may pay for a drink, a foot item, a product at a retailestablishment, or any other item through a handshake. In someembodiments, a casino employee or employee of a retail establishment maypossess a wristband. When the employee shakes hands with a person (e.g.,a customer; e.g., a player), the employee wristband may receive acommunication from the player's wristband. The communication may includeinformation about the player, such as a name, identifier, credit cardidentifier, financial account identifier, or any other information aboutthe player. The employee's wristband may communicate the player'sfinancial account identifier as well as other identifying informationabout the player to a point of sale terminal, to a retail server, to acasino server, or to any other device. The player may then be chargedfor a purchase through a credit card network or other financial network.

Having shaken hands with a casino employee, retail employee,salesperson, or other person, a player may have a limited period of timein order to review a transaction and cancel it. For example, a player'swristband may also store the details of a transaction following ahandshake with a salesperson. The details of the transaction may includea purchase price, a product, a mode of delivery, and so on. The playermay bring his wristband close to a mobile gaming device or to astationary gaming device. The wristband may transfer transaction detailsto the mobile gaming device or to the stationary gaming device. Themobile or stationary gaming device may then display the transactiondetails for the player. The player may review them and decide whether ornot to cancel. If the player wishes to cancel, the player may, in someembodiments, press a button or screen region on a mobile gaming deviceor on a stationary gaming device. The player may also be required toreturn to the place he bought the product and to return the product.

In various embodiments, a player may bring his wristband near to areader as a way to pay for a transaction. The player may touch a padwith the wristband. For example, the player may put his hand on a pad topay for a drink. The pad may contain an antenna or other type receiverto detect signals from the wristband. The signal detected may include afinancial account identifier.

In various embodiments, a player may pay for a purchase or othertransaction using a balance of gaming credits. The player may have anaccount with gaming credits that is stored and tracked with a casinoserver. When a player holds his wristband near a pad or reader in orderto make a purchase, the reader may verify with the casino server whetherthe player has a sufficient account balance to complete the purchase. Invarious embodiments, a pad or reader may provide a first indicator ifthe player does have a sufficient account balance, and may provide asecond indicator if the player does not have a sufficient accountbalance. The first indicator may be a green light, for example. Thesecond indicator may be a red light, for example.

Wristband Becomes Unclasped

In various embodiments, if the wristband comes off the player (e.g., ifthe wristband becomes unclasped) then an alert may be sent to the casinoserver. The alert may indicate to the casino server that the wristbandis no longer around the players wrist. In various embodiments, once thewristband has been taken off, the wristband may cease to function forgaming purposes. For example, the wristband may no longer allow motioncontrol. The wristband may also stop communicating a player identifierto a mobile gaming device. Thus, a mobile gaming device of the playermay no longer allow the player to engage in gambling activities. Variousother functions of the wristband may also cease once the wristband hasbeen taken off.

In various embodiments, if a player wants to restore various functionsof the wristband, the player may visit a special servicing area of acasino, such as a casino desk. There, a casino employee may put thewristband back on the player. The casino employee may transmit a specialcode to the wristband to activate it again. The casino employee may alsocheck the identity of the player, such as by asking for a fingerprint ora drivers license, before reapplying the wristband.

In various embodiments, a wristband include one or more sensors fordetermining whether the wristband has come off the player, is unclasped,or has otherwise been tampered with or removed. For example a sensor maycomprise an electrical circuit encircling the wristband. If thewristband comes off the circuit may be broken.

In various embodiments, a wristband or mobile gaming device may relyupon continuous or periodic contact with a casino server in order tofunction. If the wristband or mobile gaming device loses contact withthe casino server then they may cease to function. In variousembodiments, the wristband may communicate with the server on a periodicbasis. Inputs that the wristband receives from the player may not becarried out until the next communication is received from the server.For example, if the player moves his hand to make a command, thewristband may store a record of the motion and/or may store a commandwhich corresponds to the motion. However, the wristband may not transmitthe command to another device, such as to a mobile gaming device or agaming device that the player may be playing. Rather, the wristband maystore the command until it again receives a communication signal fromthe server. In this way, the wristband may ensure that no commands or nogaming commands are performed while the wristband may not be in contactwith the casino server. In some embodiments, a wristband may store upinputs received from a player. However, if the wristband does notreceive a communication from the casino server within a predeterminedperiod of time of receiving the inputs, then the wristband may discardthe inputs. In this way, the player may not later be surprised when alarge number of stored or saved commands are executed at once. Invarious embodiments, player who enters an elevator may not be able toplay for some time as communication between his bracelet and the casinoserver may be cut off.

In various embodiments, instead of a wristband ceasing to function whenit is opened or unclasped, the wristband could continue broadcasting“I've been opened up” to the server until the server confirms it. Theremay be a period of time after the wristband has been opened that it istrying to tell the server it has been opened. Then there may be a periodof time when it stops broadcasting after receiving confirmation from theserver. After the wristband has been opened, it may no longer allow somefunctions (e.g., payments to be made using the wristband), but may stillallow other functions (e.g., motion control). So, in variousembodiments, some functions are disabled upon the opening of the claspor otherwise taking off of the wrist band.

Wristband and Mobile Gaming Device can Replicate Each Other's Functions

In various embodiments, any motion commands that can be made with awristband may also be made with a mobile gaming device. For example,just as a wristband may include sensors to detect accelerations, changesin orientation, displacements, and any other motions, so may a mobilegaming device. Just as with a wristband, a mobile gaming device mayinclude a processor for reading signals from motion sensors in a mobilegaming device and interpreting such motions as commands to be used in agame or as any other commands. In various embodiments, any commands thatcan be made through a mobile gaming device may also be made using awristband. In various embodiments, a wristband may detect motions madeby a player and transmit an indication of such motions to a mobilegaming device. The mobile gaming device may interpret the motions as acommand in a game or as any other command. In various embodiments, themobile gaming device may detect motions and transmit such motions to thewristband. The wristband may interpret the motions as commands in agame, for example. The wristband may then transmit an indication of thecommands to a stationary gaming device. In various embodiments, anysignals or alerts broadcast by a mobile gaming device based on thelocation of the mobile gaming device may just as well be broadcast by awristband based on the location of the wristband. For example, if aplayer wanders out of a legal gaming zone, a mobile gaming device or awristband could detect the position of the player and emit an audioalert for the player. In various embodiments, any haptic feedback thatmay be provided by a wristband may also be provided by a mobile gamingdevice. In various embodiments, any haptic feedback that may be providedby a mobile gaming device may also be provided by a wristband. Invarious embodiments, any information received, determined, or detectedby a wristband may be communicated to a mobile gaming device, e.g., viawireless communication.

The following are embodiments, not claims. Various embodiments include:

-   A. A method comprising:

receiving a first wireless signal from a first device;

receiving a second wireless signal from a second device;

determining from the first wireless signal a first player identifier;

determining from the second wireless signal a second player identifier;

displaying a message that asks a player to identify himself;

receiving via tactile input an indication of a third player identifier;

determining that the third player identifier matches the first playeridentifier;

receiving a third wireless signal from the first device;

interpreting the third wireless signal as a command in a gambling game;and carrying out the command in the gambling game.

Carrying out the command may include executing the command, followingthe command, acting in response to the command, and/or acting inaccordance with the command.

-   B. The method of embodiment A in which the first device is one    of: (a) a wristband; (b) a watch; (c) a bracelet; (d) an armband;    and (e) a mobile gaming device.-   C. The method of embodiment A in which determining from the first    wireless signal a first player identifier includes determining from    the first wireless signal a name of a first player. For example, the    first wireless signal may encode a player name. In some embodiments,    a player name may be found from a database which associates player    other player identifiers (e.g., player tracking card numbers) with    player names.-   D. The method of embodiment A in which the first player identifier    and the second player identifier correspond to different players.-   E. The method of embodiment A in which receiving via tactile input    an indication of a third player identifier includes receiving an    indication of a third player identifier, in which the third player    identifier has been inputted using buttons. For example, the someone    may enter the third player identifier by physically pressing buttons    (e.g., letter keys) on a gaming device.-   F. The method of embodiment A in which receiving via tactile input    an indication of a third player identifier includes receiving an    indication of a third player identifier, in which the third player    identifier has been inputted using a joystick.-   G. The method of embodiment A in which receiving via tactile input    an indication of a third player identifier includes receiving an    indication of a third player identifier, in which the third player    identifier has been inputted using a touch screen.-   H. The method of embodiment A in which receiving via tactile input    an indication of a third player identifier includes receiving an    indication of a third player identifier, in which the third player    identifier has been inputted using a track ball.-   I. The method of embodiment A in which the third wireless signal    encodes a set of motions made by the first device. For example, the    third wireless signal may include a set of numbers representing    positions, velocities, accelerations, displacements, angular    displacements, or other components of motion. The numbers may be    understood to represent degrees, centimeters, or other units of    measurement. In some embodiments, the third wireless signal may    include an identifier for one of a set of recognized motions (e.g.,    “Motion F”; e.g., “Zigzag motion”).-   J. The method of embodiment A in which interpreting the third    wireless signal includes interpreting the third wireless signal as a    command to discard a card in a game of video poker.-   K. The method of embodiment A in which interpreting the third    wireless signal includes interpreting the third wireless signal as a    command to initiate a slot machine game.-   L. An apparatus comprising:

a band formed into a loop;

a power source attached to the band;

a motion sensor attached to the band;

an electromagnetic transmitter attached to the band;

an audio speaker attached to the band;

a haptics transducer attached to the band;

a processor attached to the band; and

an electromagnetic receiver attached to the band.

The band may be a metal band, elastic band, chain link band, cloth band,leather band, or any other type of band. In some embodiments, the bandcan be made into a loop by clasping its two ends together. In someembodiments, the band is always in loop form, save for unintendedtearing or ripping.

-   M. The apparatus of embodiment L in which the haptics transducer is    operable to generate vibrations in response to an electric signal    from the processor. For example, the processor may direct the    haptics transducer to vibrate when a jackpot has been won in a game    being played by the wearer of the apparatus.-   N. The apparatus of embodiment L in which the motion sensor is an    accelerometer.-   O. The apparatus of embodiment L in which the processor is operable    to:

receive a first electronic signal from the motion sensor;

determine a first command for a first gambling game based on the firstelectronic signal;

transmit the first command to the electromagnetic transmitter; and

direct the electromagnetic transmitter to transmit the first command toa first gaming device.

Thus, in various embodiments, the apparatus may detect a player'smotions and interpret the motions as commands in gambling game, such asa slot machine game, video poker game, blackjack game, or any othergame. The apparatus may then transmit the command via to a gamingdevice, such as to a slot machine or to a mobile gaming device, so thatthe command may be executed in a game.

-   P. The apparatus of embodiment L in which the processor is operable    to:

receive from the electromagnetic receiver instructions that have beenreceived wirelessly by the electromagnetic receiver;

receive a second electronic signal from the motion sensor;

follow the instructions in order to determine a second command for asecond gambling game based on the second electronic signal; transmit thesecond command to the electromagnetic transmitter; and

direct the electromagnetic transmitter to transmit the second command tothe gaming device.

-   Q. The apparatus of embodiment L further including a switch attached    to the band, in which the switch has two stable positions, and in    which the processor is operable to detect the position of the switch    and to direct the electromagnetic transmitter to transmit signals    only if the switch is in a first of the two stable positions. In    various embodiments, a player may turn some or all aspects of a    wristband on or off. The player may do this by means of a switch,    button, or other toggling device, or other device. With one state of    the switch, the wristband may transmit motions or commands to be    used in a game. With another state of the switch, no such motions or    commands may be transmitted. For example, the player may wish to    make motions without worry that such motions would be counted in a    game.-   R. The apparatus of embodiment L further including a piezoelectric    sensor attached to the band. The piezoelectric sensor may detect    flexing of a players wrist muscles through the pressure they place    on the wristband, for example.-   S. An apparatus comprising:

a housing, the housing including a top surface that is parallel to theground;

a coin hopper disposed within the housing;

a bill validator attached to the housing;

a display screen attached to the housing;

a processor disposed within the housing;

a wireless receiver attached to the housing;

a wireless transmitter attached to the housing;

a first light source attached to the top surface of the housing, inwhich the first light source is operable to emit light of a firstfrequency; and

a second light source attached to the top surface of the housing atleast one foot from the first light source, in which the second lightsource is configured to emit light of a second frequency which isdifferent from the first frequency. The apparatus may represent a gamingdevice. The two light sources may provide fixed reference pointsrelative to which a wristband or mobile gaming device may determine itsown position or orientation. For example, the first light source may bea green light and the second light source may be a red light. Awristband may detect the two lights sources by e.g., capturing an imagewhich includes the light sources, determining the apparent distance ofthe light sources in the image, and determining its own distance fromthe light sources based on the known distance between the two lightsources.

-   T. The apparatus of embodiment S in which the processor is operable    to:

conduct gambling games; and

alter the course of a gambling game based on wireless signals receivedat the wireless receiver.

In various embodiments, altering the course of a gambling game mayinclude taking one of two or more possible actions in a gambling game,such as choosing one or two possible cards to keep, or such as choosingone of two or more possible bets.

Some Haptics Technology

The Impulse stick from Immersion is a joystick which provides forcefeedback and is marketed to be used in challenging environments, such asvideo arcades.

The VibeTonz® system by Immersion is a system that can endow mobilephones with haptic sensations. Such sensations may provide the feel froma repetition of a machine gun, from the shock and decay of an explosion,or from the thump of a foot kicking a ball.

A “haptic interface device” provides a haptic sensation (haptic display)to a user of the haptic interface device in response to the user'sinteraction with an environment with which the haptic interface deviceis associated. “Haptic” refers to the sense of touch: haptic interfacedisplay devices thus produce sensations associated with the sense oftouch, such as texture, force (e.g., frictional force, magneticrepulsion or attraction), vibration, mass, density, viscosity,temperature, moisture, or some combination of such sensations. Hapticinterface devices can be embodied in a variety of different apparatus,such as, for example, apparatus for conveying force and/or vibrotactilesensation (e.g., a stylus, a movable arm, a wheel, a dial, a roller, aslider or a vibratory surface), apparatus for conveying thermalsensation (e.g., a thermally-controlled surface or air volume), andapparatus for conveying the sensation of moisture (e.g., amoisture-controlled surface or air volume). Haptic interface devices canbe used in a wide variety of applications. For example, some joysticksand mice used with computers incorporate force feedback to provide ahaptic display to a user of the joystick or mouse. Some paging devicesare adapted to vibrate when a paging signal is received. Some toysproduce vibrations as part of the interaction with the toy. Theseexamples give an indication of the range of applications for which ahaptic interface device can be used.

In a conventional haptic interface device, the character of the hapticdisplay experienced by a user is determined by a haptic model that linksthe state of one or more aspects of the environment to the hapticsensation provided to the user. A user uses an environment interactioncontrol apparatus to interact with an environment via an environmentinteraction model (either directly or via a haptic model). The hapticmodel “interprets” the user interaction with the environment (based oninformation concerning the user interaction obtained either from theenvironment interaction model or the environment to cause a hapticdisplay apparatus to produce a corresponding haptic display. Theenvironment interaction model can also cause a non-haptic displayapparatus to produce a non-haptic display (e.g., a visual display and/oran audio display). However, there need not necessarily be a non-hapticdisplay.

The magnitude of the change in haptic sensation per unit change in thestate of one or more aspects of the environment is referred to herein asthe “resolution” of the haptic display. For example, in a hapticinterface device used for video browsing and/or editing, a knob can berotated to advance through the frames of a video recording, a forcebeing applied in opposition to rotation of the knob, to simulate adetent, at predetermined transitions from one video frame to the next inthe video recording. The resolution of the haptic display in that hapticinterface device can be the frequency of occurrence of detents in thevideo recording (e.g., the number of video frames between each detent).(It can also be possible, as illustrated by an example discussed furtherbelow, to define the resolution of the haptic display of such a hapticinterface device in terms of the frequency of detents per unit durationof time over which the video was obtained.)

Output produced by the haptic display apparatus can include, forexample, sensations of texture, force (e.g., frictional force, magneticrepulsion or attraction), vibration, mass, density, viscosity,temperature, moisture, or some combination of such sensations. When theenvironment is a visual and/or an audio recording, for example, forcecan be applied in opposition to movement of an apparatus embodying theenvironment interaction control apparatus and the haptic displayapparatus to simulate a detent as transition is made from one videoframe (or other related set of visual recording data) to the next.Additionally the haptic model can replicate a variety of characteristicsof a haptic sensation, such as inertia, damping and/or compliance. Thehaptic display apparatus can make use of a variety of devices to producethe haptic display. For example, if appropriate for the desired hapticdisplay, devices for producing force and/or vibrotactile sensation canbe used, such as, for example, DC servo motor(s), voice coil motor(s),linear actuator(s), hydraulic actuator(s), pneumatic actuator(s), shapememory alloy(s) (SMAs) and piezoelectric transducer(s). If appropriatefor the desired haptic display, thermal devices can additionally oralternatively be used, such as, for example, thermoelectric module(s),or heater and fan combination(s). If appropriate for the desired hapticdisplay, moisture devices and/or materials can additionally oralternatively be used, such as, for example, condenser(s), mister(s),moisture-permeable barrier(s) and anhydrous material(s).

The haptic display apparatus can be embodied by, for example, aforce-actuated wheel, knob, handle or arm, a heat sourcing and/orsinking device, or a moisture generating and/or absorbing device.

Various devices actively respond to user input by providing tactile cuesor responses to the user. The vibrator in a cell phone or pager is agood example. Other examples include an input key that provides aclicking sound when moved; a key or touch screen that moves suddenly orvibrates in an opposed direction to the input; and a key that movessuddenly or vibrates perpendicular to the direction of input in responseto a transducer attached to the device housing.

An input mechanism such as a display and/or a key may be configured forproviding active tactile force feedback. An electromechanicaltransducer, such as a voice-coil based linear vibration motor, apiezoelectric actuator or vibrator, or the like, is mechanicallyconnected directly to the display, and an electromechanical transducer,such as a vibrator, or the like, is mechanically connected directly tothe key.

In various embodiments, a haptic interface module is configured tooutput pulses of predetermined or user defined amplitude and duration inresponse to receiving a trigger signal from a phone processor.Alternatively, other interface logic (e.g., address decoding logic) isincluded between a digital signal bus, and a haptic interface module.The phone processor is programmed to trigger the haptic interface modulein response to a predetermined state as determined by intelligentoperations within the phone processor. Optionally, the triggering of thehaptic interface module can selectively enabled or disabled inaccordance with configuration settings that a user can edit. The hapticinterface module is coupled to electromechanical transducers. Theelectromechanical transducers are driven by the output of the hapticinterface module.

More generally, the electromechanical transducers are preferably drivenby a signal that includes at least one approximation of a step function.(Note that a step function is a mathematical ideal that no real worldcircuit can achieve). A step function includes a broad range offrequencies. By using a driving signal that includes an approximation ofa step function, the electromechanical transducer is caused to emit animpulse of mechanical energy that propagates to the haptic point and isfelt by a user operating the cellular phone. In various embodiments, theelectromechanical transducer is driven by a signal that includes one ormore pulses. A pulse, e.g., a single pulse or a complex waveform, isgenerated in response to each detected state, where a state refers to aparticular situation identified by the phone processor. Using a knownpulse is advantageous in that a known pulse generates an impulse ofmechanical energy that creates a tactile sensation that simulates thefeel of previous states with which the user may be familiar.

A transceiver module, phone processor, A/D, input decoder, D/A 510,haptic interface module, display driver, memory, and display driver arepreferably part of an electric circuit that is embodied in the circuitcomponents, and interconnecting traces of the circuit board.

Alternatively in lieu of using the phone processor, a different electriccircuit may be used to drive the electromechanical transducer in orderto generate tactile feedback to the haptic points.

The haptic interface module could alternatively be a pulse generator,generating digital pulses of various widths, heights, and/or frequenciesbased on instructions from the phone processor. Depending on theimpedance match to the electromechanical transducer and currentsourcing/sinking capability, an amplifier may be needed. Alternatively,the haptic interface module could simply be a current amplifier andpulses would be generated by the phone processor itself. Anotherpossibility is that the haptic interface module comprises multiple DACswhich apply analog signals as would be the case if additional audiochannels were included.

Various situations could prompt different haptic responses. For example,in a pager or cell phone, a message or call from a spouse might causeall the haptic points to vibrate, or a message or call from a boss mightcause the haptic points to vibrate in a circular motion around theelectronic device, or a message or call from another might cause thehaptic points to vibrate repeatedly up one side of the electronicdevice. The use of adjacent multiple vibrators in succession asdescribed creates a perceptual illusion of movement (known as thecutaneous rabbit).

This illusion of movement could be used to give directional informationfor navigation. The movement along a side, around the electronic device,back and forth, can also be used to convey information, such as togather attention, create emphasis, and general non-verbal information.The electronic device can also relay information of its status, such asout of range, low battery, and busy signal. Such information may bevaluable while the user is holding the electronic device to his/her earand cannot readily see information on the screen.

The multiple localized force feedback could also be used for sensorialcommunication. Instead of sending a voice or text message or a pictureor a data file, one could send a particular haptic pattern to otherusers. The pattern could represent a reminder, a certain mood (e.g.,thinking of you, love you, missing you, etc.), a particular sensation,or any other user defined contents.

Computer devices are widely used for entertainment activities such asplaying games. Currently, popular gaming computer devices include gameconsoles connected to a home television set, such as the Nintendo® 64from Nintendo Corp., the Playstation® from Sony Corp. and the Dreamcast®from Sega Corp. Gaming computer devices also include personal computers,such as Windows PCs, Macintosh computers, and others. Also, portablecomputer devices are often used for entertainment purposes, such as GameBoy® from Nintendo, personal digital assistants such as PalmPilot® fromPalm Computing, and laptop computers.

Users of these computer devices typically interact with a game or otherapplication program using an interface device connected to the hostcomputer (e.g. game console). Such interface devices may includejoysticks, gamepads, mice, trackballs, styluses, steering wheels, orother devices. A user moves a user manipulatable object (manipulandum),such as a joystick, wheel, mouse, button, dial, or other object, whichis sensed by the host computer and used to manipulate a graphicalenvironment displayed by the host computer. Recently, haptic feedback ininterface devices has become available as well, where the host computerand/or a microprocessor on the interface device controls one or moremotors to output forces to the user. These forces are correlated withevents or objects in the graphical environment to further immerse theuser in the gaming experience or interface task. Herein, the term“haptic feedback” is intended to include both tactile (or vibrotactile)feedback (forces transmitted to user skin surfaces) and kinestheticfeedback (forces provided in degree(s) of freedom of motion of themanipulandum).

Existing force feedback “gamepad” controllers (or add-on hardware forgamepad controllers) that are used to interface with games running ongame consoles include the Dual Shock™ from Sony Corp., the Rumble Pak™from Nintendo Corp., and the Jump Pack from Sega Corp, as well as othertypes of handheld controllers such as the MadCatz Dual Force RacingWheel. These devices are inertial tactile feedback controllers whichemploy one or more motors to shake the housing of the controller andthus provide output forces such as vibrations to the user which arecorrelated to game events and interactions. Typically, an eccentricrotating mass (ERM) motor, i.e., pager motor, is used to generatevibration on the controller and thus to the user. The motor is rigidlycoupled to the controller housing and provides a mass on a rotatingshaft offset from the axis of rotation, so that when the shaft isrotated, the inertial forces from the moving mass rock the motor and thegamepad housing back and forth.

To replicate texture, a force-feedback device is preferably used toallow users to touch and feel computer generated objects. The sense oftouch is preferably simulated using a haptic (sensory/touch) interface.A haptic interface is a force reflecting device that allows a user totouch, feel, manipulate, create, and/or alter simulatedthree-dimensional objects in a virtual environment. There are variousknown haptic interface objects, including a flat surface area interface,joystick, glove, thimble, stick or pen, exo-skeletal structures,tread-mills, fans, magnetic. Hardware employed includes DC brushlessmotors, potentiometers, Silicon Graphics, Inc. IRIS Indigo computers,V25 board computers, 8086 compatible micro processors, CRT displays,stereo-imaging systems, magnetic and electromagnetic components,pulleys, steel belt drive trains, VME bus, encoders, potentiometers,motor controllers, encoders, cable reducers. The required software canbe any of a variety of programming languages (e.g., C, C++) that areable to work with visual modeling programs.

Currently, there is no consensus on the “best” type of interface amongexperts. However, an example of a known haptic interface is the “PhantomHaptic Interface” developed at MIT's Artificial Intelligence Laboratory.The “Phantom Haptic Interface,” delivers precise haptic stimulation tohumans at a level of fidelity and convenience previously unattainable.The device built to deliver the forces that arise in “point contacts”gives the sensation of fingertip interactions with a wide variety ofobjects. Requiring only three motors and three sensors to accomplishthis, the device provides a computationally and mechanically tractableway to enable haptic interaction with complex virtual objects.

Haptic interfaces permit user to touch and manipulate imaginarycomputer-generated objects in a way that evokes a compelling sense oftactile “realness.” With this technology a user at a computer terminalcan touch objects that exist only in the “mind” of the computer. Bytransmitting the correct digital signals to a master haptic interfacedevice at a remote user location, the master device can be used to makeusers feel as though they were performing a real task. In reality, userswould simply be interacting through motors with a computer program.

Various embodiments are optically based, and generally uses unobtrusivespecialized datum's on, or incorporated within, an object whose 3Dposition and/or orientation is desired to be inputted to a computer.Typically such datums are viewed with a single TV camera, or two TVcameras forming a stereo pair. A location for the camera(s) may beproximate the computer display, looking outward therefrom, or to the topor side of the human work or play space.

Retroreflective glass bead tape, or beading, such as composed ofScotchlite 7615 by 3M co., provides a point, line, or other desirablyshaped datum which can be easily attached to any object desired, andwhich has high brightness and contrast to surroundings such as parts ofa human, clothes, a room etc, when illuminated with incident light alongthe optical axis of the viewing optics such as that of a TV camera. Thisin turn allows cameras to be used in normal environments, and havingfast integration times capable of capturing common motions desired, andallows datums to be distinguished easily which greatly reduces computerprocessing time and cost.

FIG. 14 a

FIG. 14a illustrates exemplary single camera based embodiments. In thiscase, a user C5, desires to point at an object C6 representedelectronically on the screen C7 and cause the pointing action toregister in the software contained in computer C8 with respect to thatobject (a virtual object), in order to cause a signal to be generated tothe display C7 to cause the object to activate or allow it to be moved,(e.g. with a subsequent finger motion or otherwise). He accomplishesthis using a single TV camera C10 located typically on top of the screenas shown or alternatively to the side (such as C11) to determine theposition of his fingertip C12 in space, and/or the pointing direction ofhis finger C13.

It may be desirable to use retroreflective material on the finger, e.g.,as either temporarily attached to the finger as in jewelry or painted onthe finger using retro-reflective coating “nail polish” or adhered tothe finger such as with adhesive tape having a retro-reflective coating.Such coatings may include those of Scotch-lite 7615 and its equivalentthat have high specific reflectivity, contrasting well to theirsurroundings to allow easy identification. The brightness of thereflection allows dynamic target acquisition and tracking at lowestcost.

The use of retroreflective and/or highly distinctive targets (e.g.bright orange triangles) allows reliable acquisition of the target in ageneral scene, and does not restrict the device to pointing on a desktopapplication under controlled lighting. Active (self luminous) targetssuch as LEDS may also allow such acquisition.

If we consider camera system C10 sitting on top of the screen C7 andlooking at the user or more particularly, the user's hand, in a normalcase of Internet telephony there is a relatively large field of view sothat the user's face can also be seen. This same field of view can beused for various embodiments but it describes a relatively large volume.For higher precision, add-on lenses or zoom lenses on the camera may beused to increase the resolution.

Or it is possible according to various embodiments to have a pluralityof cameras, one used for the Internet and the other used for the inputapplication here described. Indeed with the ever dropping prices, theprice of the actual camera including the plastic lens on the CMOS chipis so low, it is possible perhaps even to have multiple cameras withfixed magnifications, each having a separate chip!

These can easily be daisy chained with either fire wire or USB such thatthey can either be selected at will electronically in fact by thedifferent magnifications or pointing directions desired.

Let us now return now to the question of determining location ororientation of a human portion such as typically a hand, or finger—inthis case, a finger. In various embodiments, low cost lighting may beused. The power for the lighting, such as LEDs can generally be conveyedover the USB or 1394 bus however.

The user can also point or signal with an object such as C15 havingdatum C16 on it, such as a retroreflective dot C16 or line target C17.

It is possible to expand the sensing of 2D positions described aboveinto 3, 4, 5 and 6 dimensions (x, y plus z, pitch, yaw, roll). Twosensing possibilities of the many possible, are described in variousembodiments herein.

-   1. The first, illustrated in FIG. 14a and b is to utilize a single    camera, but multiple discrete features or other targets on the    object which can provide a multidegree of freedom solution. In one    example, the target spacing on the object is known a priori and    entered into the computer manually or automatically from software    containing data about the object, or can be determined through a    taught determining step.-   2. The second is a dual camera solution shown in FIGS. 14c and d    that does not require a priori knowledge of targets and in fact can    find the 3D location of one target by itself, useful for determining    finger positions for example. For 6-degree freedom of information,    at least three point, targets are required, although line targets,    and combinations of lines and points can also be used.

FIG. 14b illustrates a 3-D (3 Dimensional) sensing embodiment usingsingle camera stereo with 3 or more datums on a sensed object, or inanother example, the wrist of the user.

As shown the user holds in his right hand C29, object C30 which has atleast 3 visible datums C32, C33, and C34 which are viewed by TV cameraC40 whose signal is processed by computer C41 which also controlsprojection display C42. TV camera C40 also views 3 other datums C45, C46and C47, on the wrist C48 of the users left hand, in order to determineits orientation or rough direction of pointing of the left hand C51, orits position relative to object C30, or any other data (e.g. relation tothe screen position or other location related to the mounting positionof the TV camera, or to the users head if viewed, or what ever. Theposition and orientation of the object and hand can be determined fromthe 3 point positions in the camera image using known photogrammetricequations (see Pinckney, reference U.S. Pat. No. 4,219,847 and otherreferences in papers referenced).

Alternatively to the 3 discrete point target, a colored triangulartarget for example can be used in which the intersections of linesfitted to its sides define the target datums, as discussed below.

It is also possible to use the camera C40 to see other things ofinterest as well. For the direction of pointing of the user at an objectC55 represented on display C42 is determine for example datum C50 onfinger C52 of users left hand C51 (whose wrist position and attitude canbe also determined).

Alternatively, the finger can be detected just from its general graylevel image, and can be easily identified in relation to the targetedwrist location (especially if the user, as shown, has clenched his otherfingers such that the finger C52 is the only one extended on that hand).

The computer can process the gray level image using known techniques,for example blob and other algorithms packaged with the Matrox brandGenesis image processing board for the PC, and determine the pointingdirection of the finger using the knowledge of the wrist gained from thedatums. This allows the left hand finger C50 to alternatively point at apoint (or touch a point) to be determined on the object C30 held in theright hand as well.

FIG. 14 c

FIG. 14c illustrates another version of the embodiments of FIGS. 14a and14b , in which two camera “binocular” stereo cameras C60 and C61processed by computer C64 are used to image artificial target (in thiscase a triangle, see also FIG. 2), C65, on the end of pencil C66, andoptionally to improve pointing resolution, target C67 on the tip end ofthe pencil, typically a known small distance from the tip (the user andhis hand holding the pencil is not shown for clarity. This imagingallows one to track the pencil tip position in order to determine whereon the paper (or TV screen, in the case of a touch screen) the pencil iscontacting.

It may be desirable to have independently controllable near coaxiallight sources C62 and C63 are shown controlled by computer C64 toprovide illumination of retroreflective targets for each cameraindependently. This is because at different approach angles theretroreflector reflects differently, and since the cameras are oftenangularly spaced (e.g. by non-zero angle A), they do not see a targetthe same.

Numerous other camera arrangements, processing, computation, and otherissues are discussed in general relative to accurate determination ofobject positions using two or more camera stereo vision systems in theS. F. El Hakim paper referenced above and the additional referencesreferred to therein.

The computer can also acquire the stereo image of the paper and thetargets in its four corners, C71-C74. Solution of the photogrammetricequation allows the position of the paper in space relative to thecameras to be determined, and thence the position of the pencil, andparticularly its tip, to the paper, which is passed to display means C75or another computer program. Even with out the target on the end, thepointing direction can be determined from target C65 and knowing thelength of the pencil the tip position calculated.

A line target C76 can also be useful on the pencil, or a plurality ofline targets spaced circumferentially, can also be of use in definingthe pencil pointing direction from the stereo image pair.

A working volume of the measurement system is shown in dotted linesC79--that is the region on and above the desk top in this case where thesensor system can operate effectively. Typically this is more thansatisfactory for the work at hand. It is noted that due to possiblecompound inclination of the cameras, and other geometric considerations,the effective working volume for any given accuracy or resolutioncriteria, does not necessarily have parallel sides.

It is noted that the dual (Stereo pair) camera system of FIG. 14 hasbeen extensively tested and can provide highly accurate position andorientation information in up to 6 degrees of freedom. One particularversion using commercial CCD Black and white cameras and a Matrox“Genesis” framegrabber and image processing board, and suitable stereophotogrammetry software running in an Intel Pentium 300 MHZ basedcomputer, has characteristics well suited to input from a large desktopCAD station for example. This provides 30 Hz updates of all 6 axes (x yz roll pitch and yaw) data over a working volume of 0.5 meter×0.5 meterin x and y (the desktop, where cameras are directly overhead pointingdown at the desk) and 0.35 meters in z above the desk, all to anaccuracy of 0.1 mm or better, when used with clearly visible roundretroreflective (scotchlite 7615 based) datums approx. 5-15 mm indiameter on an object for example. This may be accurate enough forprecision tasks such as designing objects in 3D cad systems.

The cameras in this example are mounted overhead. If mounted to the sideor front, or at an angle such as 45 degrees to the desktop, the z axisbecomes the direction outward from the cameras.

FIG. 14c additionally illustrates 2 camera stereo arrangement, used inthis case to determine the position and orientation of an object havinga line target, and a datum on a portion of the user. Here, cameras C60and C61 are positioned to view a retro-reflective line target C80 inthis case running part of the length of a toy sword blade C81. The linetarget in this case is made as part of the plastic sword, and is formedof molded in corner cube reflectors similar to those in a tail lightreflector on a car. It may also be made to be one unique color relativeto the rest of the sword, and the combination of the two gives anunmistakable indication.

There are typically no other bright lines in any typical image whenviewed retroreflectively. This also illustrates how target shape (i.e. aline) can be used to discriminate against unwanted other glints andreflections which might comprise a few bright pixels worth in the image.It is noted that a line type of target can be cylindrical in shape ifwrapped around a cylindrical object, which can be viewed then frommultiple angles.

Matching of the two camera images and solution of the photogrammetricequations gives the line target pointing direction. If an additionalpoint is used, such as C82 the full 6 degree of freedom solution of thesword is available. Also shown here is yet another point, C83, whichserves two purposes, in that it allows an improved photogrammetricsolution, and it serves as a redundant target in case C82 cant be seen,due to obscuration, obliteration, or what have you.

This data is calculated in computer C64, and used to modify a display onscreen C75 as desired.

In one embodiment a matrox genesis frame processor card on an IBM 300mhz PC was used to read both cameras, and process the information at thecamera frame rate of 30 HZ. Such line targets are very useful on sleevesof clothing, seams of gloves for pointing, rims of hats, and otherdecorative and practical purposes for example for example outlining theedges of objects or portions thereof, such as holes and openings.

Typically the cameras C60 and C61 have magnifications and fields of viewwhich are equal, and overlap in the volume of measurement desired. Theaxes of the cameras can be parallel, but for operation at ranges of afew meters or less, are often inclined at an acute angle A with respectto each other, so as to increase the overlap of their field ofview—particularly if larger baseline distances d are used for increasedaccuracy (albeit with less z range capability.). For example for a caddrawing application, A can be 30-45 degrees, with a base line of 0.5 to1 meter. Where as for a video game such as FIG. 5, where z range couldbe 5 meters or more, the angle A and the base line would be less, toallow a larger range of action.

Data Base

The datums on an object can be known a priori relative to other pointson the object, and to other datums, by selling or other wise providingthe object designed with such knowledge to a user and including with ita CD ROM disc or other computer interfacable storage medium having thisdata. Alternatively, the user or someone, can teach the computer systemthis information. This is particularly useful when the datums areapplied by the user on arbitrary objects.

FIG. 14 d

Illustrated here are steps used in various embodiments relating todetection of a single point to make a command, in this case; theposition (or change of position, i.e. movement) of a finger tip havingretroreflective target attached detected by a stereo pair of TV camerasusing detection algorithm which in its simplest case is based onthresholding the image to see only the bright target indication from thefinger (and optionally, any object associated therewith such as a screento be touched for example).

If this is insufficient to unambiguously defined the datum on thefinger, added algorithms may be employed which are themselves known inthe art (many of which are commonly packaged with image analysis framegrabber boards such as the matrox genesis. The processes can include,for example:

-   a brightness detection step relative to surroundings, or to    immediate surroundings (contrast);-   a shape detection step, in which a search for a shape is made, such    as a circle, ring, triangle, etc.;-   a color detection step, where a search for a specific color is made;-   a movement step, wherein only target candidates which have moved    from a location in a previous TV image are viewed.

Each step, may process only those passing the previous step, or each maybe performed independently, and the results compared later. The ordersof these steps can be changed but each adds to further identify thevalid indication of the finger target.

Next the position of the targeted finger is determined by comparing thedifference in location of the finger target in the two camera images ofthe stereo pair. There is no matching problem in this case, as a singletarget is used, which appears as only one found point in each image.

After the Image of finger (or other tool) tip is found, its location iscomputed relative to the screen or paper, and this data is inputted tothe computer controlling the display to modify same, for example theposition of a drawing line, an icon, or to determine a vector ofmovement on the screen.

Motion Detection.

The computer 8 can be used to analyze incoming TV image based signalsand determine which points are moving in the image This is helpful toeliminate background data which is stationary, since often times onlymoving items such as a hand or object are of interest. In addition, thedirection of movement is in many cases the answer desired or even thefact that a movement occurred at all.

A simple way to determine this is to subtract an image ofretroreflective targets of high contrast from a first image—and justdetermine which parts are different—essentially representing movement ofthe points. Small changes in lighting or other effects are notregistered. There are clearly more sophisticated algorithms as well.

Motion pre processing is useful when target contrast is not very high,as it allows one to get rid of extraneous regions and concentrate alltarget identification and measurement processing on the real targetitems.

Such processing is also useful when two camera stereo is used, as onlymoving points are considered in image matching—a problem when there arelots of points in the field.

Can it be assumed that the object is moving? The answer is yes if it's agame or many other activities. However there may be a speed of movementof issue. Probably frame to frame is the criteria, in a game, namely 30Hz for a typical camera. However, in some cases movement might bedefined as something much slower—e.g. 3 Hz. for a CAD system input usingdeliberate motion of a designer.

Once the moving datum is identified, then the range can be determinedand if the object is then tracked even if not moving from that pointonward, the range measurement gives a good way to lock onto the objectusing more than just 2 dimensions.

One might actually use an artificial movement of the target if onedoesn't naturally exist. This could be done by causing it to vibrate. Ifone or more LEDs is used as a target, they can be made to blink, whichalso shows up in an image subtraction (image with led on, vs. image withled off). The same is true of a target which changed color, showing upin subtraction of color images.

Image subtraction or other computer processing operations can also beuseful in another sense. One can also subtract background, energizingthe retroreflective illumination light with no retroreflective targetspresent, and then with them. One idea is simply to take a picture of aroom or other work space, and then bring in the targeted object. Thatwould seem pretty simple to subtract or whatever. And the net result isthat any bright features in the space which are not of concern, such asbright door knobs, glasses, etc are eliminated from consideration.

This can also be done with colored targets, doing a color based imagesubtract--especially useful when one knows the desired colors a priori(as one would, or could, via a teach mode).

-   A flow chart is shown in FIG. 14d illustrating the steps as follows:-   A. Acquire images of stereo pair;-   B. Optionally preprocess images to determine if motion is present.    If so, pass to next step otherwise do not or do anyway (as desired);-   C. Threshold images;-   D. If light insufficient, change light or other light gathering    parameter such as integration time;-   E. Identify target(S);-   F. If not identifiable, add other processing steps such as a screen    for target color, shape, or size;-   G. Determine centroid or other characteristic of target point (in    this case a retro dot on finger);-   H. Perform auxiliary matching step if required;-   I. Compare location in stereo pair to determine range z and x y    location of target(s);-   J. Auxiliary step of determining location of targets on screen if    screen position not known to computer program. Determine via targets    on screen housing or projected on to screen for example;-   K. Determine location of target relative to screen;-   L. Determine point in display program indicated;-   M. Modify display and program as desired.

FIG. 14 e

The following is a multi-degree of freedom image processing descriptionof a triangular shaped color target (disclosed itself in severalembodiments herein) which can be found optically using one or morecameras to obtain the 3 dimensional location and orientation of thetarget using a computer based method described below. It uses colorprocessing to advantage, as well as a large number of pixels for highestresolution, and is best for targets that are defined by a large numberof pixels in the image plane, typically because the target is large, orthe cameras are close to the target, or the camera field is composed ofa very large number of pixels.

The method is simple but unique in that it can be applied 1) in avariety of degrees to increase the accuracy (albeit at the expense ofspeed), 2) with 1 or more cameras (more cameras increase accuracy), 3)it can utilize the combination of the targets colors and triangles, (1or more) to identify the tool or object. It utilizes the edges of thetriangles to obtain accurate subpixel accuracy. A triangle edge can evenhave a gentle curve and the method will still function well. Othergeometric shapes can also be processed similarly in some cases.

The method is based on accurately finding the 3 vertices(F0,G0,F1,G1,F2,G2) of each triangle in the camera field by accuratelydefining the edges and then computing the intersection of these edgecurves. This is generally more accurate, than finding 3 or 4 points fromspot centroids. However, the choice of which to use, often comes down towhich is more pleasing to the consumer, or more rugged and reliable inuse.

The preferred implementation uses 1 or more color cameras to capture atarget composed of a brightly colored right triangle on a rectangle ofdifferent brightly colored background material. The background color andthe triangle color must be two colors that are easily distinguished fromthe rest of the image. For purposes of exposition we will describe thebackground color as a bright orange and the triangle as aqua.

By using the differences between the background color and the trianglecolor, the vertices of the triangle can be found very accurately. Ifthere are more than one triangle on a target, a weighted average oflocation and orientation information can be used to increase accuracy.

The method starts searching for a pixel with the color of the backgroundor of the triangle beginning with the pixel location of the center ofthe triangle from the last frame. Once a pixel with the triangle “aqua”color is found, the program marches in four opposite directions untileach march detects a color change indicative of an edge dividing thetriangle and the “orange” background. Next, the method extends the edgesto define three edge lines of the triangle with a least squares method.The intersection points of the resulting three lines are found, andserve as rough estimates of the triangle vertices. These can serve asinput for applications that don't require high accuracy.

If better accuracy is desired, these provisional lines are then used asa starting point for the subpixel refinement process. Each of these 3lines is checked to see if it is mainly horizontal. If a line is mainlyhorizontal, then a new line will be determined by fitting a best fit ofa curve through the pixel in each column that straddles the provisionalline. If a line is mainly vertical, then the same process proceeds onrows of pixels.

The color of each pixel crossed by a line is translated into acorresponding numeric value. A completely aqua pixel is would receivethe value 0, while a completely orange pixel would receive the value 1.All other colors produce a number between 0 and 1, based on theirrelative amounts of aqua and orange. This numeric value, V, assigned toa pixel is a weighted average of the color components (such as the R, G,B values) of the pixel. If the components of the calibrated aqua are AR,AG, AB and those of orange are OR, OG, OB, and the pixel components arePR, PG, PB, then the numeric value V is:

V=WR*CR+WG*CG+WB*CB

-   With WR, WG, WB being weighting constants between 0 and 1 and CR is    defined as:-   The same process can be used to define CG and CB.    This value V is compared with the ideal value U which is equal to    the percentage of orangeness calculated assuming the angle of the    provisional line is the same as that of the ideal line. For example,    a pixel which is crossed by the line in the exact middle would have    a U of 0.5, since it is 50% aqua and 50% orange. A fit of U-V in the    column (or row) in the vicinity of the crossing of the provisional    line gives a new estimate of the location of the true edge crossing.    Finally, the set of these crossing points can be fit with a line or    gentle curve for each of the three edges and the 3 vertices can be    computed from the intersections of these lines or curves.

We can now use these three accurate vertices in the camera plane(F0,G0,F1,G1,F2,G2) together with lens formula (here we will use thesimple lens formula for brevity) to relate the x and y of the target toF and G

F=.lambda.X/Z; G=.lambda.Y/Z

.lambda. is the focal length and z is the perpendicular distance fromthe lens to a location on the target. A triangle on the target isinitially defined as lying in a plane parallel to the lens plane. Thepreferred configuration has one right triangle whose right angle isdefined at x0, y0, z0 with one edge (of length A) extending along thedirection of the F axis of the camera and with the other edge (of lengthB) extending along the direction of the G axis of the camera. The actualtarget orientation is related to this orientation with the use of EulerAngles .phi., .theta., .psi.. Together with the lens equations and theEuler equations, the 6 derived data values of the 3 vertices (F0, G0,F1, G1, F2, G2) can be used to define 6 values of location andorientation of the target. The location and orientation of a point ofinterest on any tool or object rigidly attached to this target can beeasily computed from calibration data and ordinary translation androtation transformations. Refinements to handle lens distortions can behandled by forming a correction function with calibration data thatmodifies the locations of the F and G data. The Euler formulation isnonlinear. We linearize the equations by assuming initially that theangles have not changed much since the last video frame. Thus we replace.phi. with .phi. (old)+U1., .theta. with .theta.(old)+U2,. psi. with.psi.(old)+U3, and z0 with z0(old)+U4 or:

.phi.=.phi.+U1

.theta.=.theta.+U2

.psi.=.psi.+U3

z0=z0+U4

-   Substituting these into the Euler equations and applying the lens    formulas leads to a matrix equation

SU=R

-   that can be solved for the U values with a standard methods such as    Gauss Jordan routine. The angles and z0 can be updated iteratively    until convergence is achieved. The coefficients of the matrix are    defined as:

s11=−A(cos(.phi.) (F1/.lambda. cos(.psi.)+sin(.psi.))−sin(.phi.)cos(.theta.) (F1/.lambda. sin(.psi.)−cos(.psi.)))

s12=A sin(.theta.) cos(.phi.)(F1/.lambda. sin(.psi.)−cos(.psi.)

s13=A(sin(phi.) (F1/.lambda.sin(.psi.)−cos(.psi.))−cos(.phi.)cos(−.theta.)(F1/.lambda.cos(.psi.)−sin(.psi.)))

s14=(F0−F1)/.lambda.

s21=A(G1/.lambda.(−cos(phi.)*cos(psi.)+sin(.phi.) sin(.psi.)cos(.theta.))+sin(.theta.) sin(.phi.))

s22=A cos(.phi.) (G1/.lambda. sin(.theta.) sin(.psi.)−cos(.theta.))

s23=G1/.lambda.A(sin(.psi.)sin(.phi.)−cos(.psi.)cos(.theta.)cos(.p−hi.))

s24=(G0−G1)/.lambda.

s31=0

s32=−B cos(.theta.)(F2/.lambda. sin(.psi.)—cos(.psi.))

s33=−B sin(.theta.) (F2/.lambda. cos(.psi.)+sin(.psi.))

s34=(F0−F2)/.lambda.

s41=0

s42=−B(G2/.lambda.sin(psi.)cos(theta.)+sin(theta.))

s43=−BG2/.lambda. sin(.theta.) cos(.psi.)

s44=(G0−G2)/.lambda.

-   and the right hand side vector is defined as:

r1=(F1−F0)z0/.lambda.+A (F1/.lambda.(cos(psi.)sin(phi.)+cos(thet−a.)cos(.phi.)sin(.psi.))+sin(.psi.)sin(.psi.)−cos(.theta.)cos(.phi.)cos(−.psi.))

r2=(G1−G0)z0/.lambda.+A (G1/.lambda.(cos(.psi.) sin(phi.)+cos(theta.)cos(.phi.) sin(.psi.))+sin(.theta.) cos(.phi.))

r3=(F2−F0)z0/.lambda.+B sin(.theta.)(F2/.lambda. sin(.psi.)−cos(.psi.))

r4=(G2−G0)z0/.lambda.+B(G2/.lambda. sin(.theta.)sin(.psi.)−cos(.theta.))

-   After convergence the remaining parameters x0 and y0 are defined    from the equations:

x0=F0z0/.lambda.

Y0=G0z0/.lambda.

-   The transition of pronounced colors can yield considerably more    information than a black white transition, and is useful for the    purpose of accurately calculating position and orientation of an    object. As color cameras and high capacity processors become    inexpensive, the added information provided can be accessed at    virtually no added cost. And very importantly, in many cases color    transitions are more pleasing to look at for the user than stark    black and white. In addition the color can be varied within the    target to create additional opportunities for statistically    enhancing the resolution with which the target can be found.

Problems in 3Dimensional Input to Computers

Today, input to a computer for Three Dimensional (3D) information isoften painstakingly done with a 2 Dimensional device such as a mouse orsimilar device. This artifice, both for the human, and for the programand its interaction with the human is un-natural, and CAD designersworking with 3D design systems require many years of experience tomaster the skills needed for efficient design using same.

A similar situation exists with the very popular computer video games,which are becoming ever more 3 Dimensional in content and graphicimagery, but with similar limitations. These games too heretofore havenot been natural for the player(s).

“Virtual reality” too requires 3D inputs for head tracking, movement ofbody parts and the like. This has lead to the development of a furtherarea of sensor capability which has resulted in some solutions which areeither cumbersome for the user, expensive, or both.

The limits of computer input in 3D have also restricted the use ofnatural type situations for teaching, simulation in medicine, and thelike. It further limits young children, older citizens, and disabledpersons from benefiting from computer aided living and work.

Another aspect is digitization of object shapes. There are times thatone would like to take a plastic model or a real world part as astarting point for a 3D design.

We propose one single inexpensive device that can give all of thiscontrol and also act as a drawing pad, or input a 3D sculptured forms oreven allow the user to use real clay that as she sculptures it thecomputer records the new shape. Various embodiments relate physicalactivities and physical objects directly to computer instructions. Anovice user can design a house with a collection of targeted model or“toy” doors, windows, walls etc. By touching the appropriate toycomponent and then moving and rotating the user's hand she can place thecomponent at the appropriate position. The user can either get his orher visual cue by looking at the position of the toy on the desk or bywatching the corresponding scaled view on the computer display. Manyother embodiments are also possible.

Object Tracking

In one general aspect, a method of tracking an object of interest isdisclosed. The method includes acquiring a first image and a secondimage representing different viewpoints of the object of interest, andprocessing the first image into a first image data set and the secondimage into a second image data set. The method further includesprocessing the first image data set and the second image data set togenerate a background data set associated with a background, andgenerating a first difference map by determining differences between thefirst image data set and the background data set, and a seconddifference map by determining differences between the second image dataset and the background data set. The method also includes detecting afirst relative position of the object of interest in the firstdifference map and a second relative position of the object of interestin the second difference map, and producing an absolute position of theobject of interest from the first and second relative positions of theobject of interest.

The step of processing the first image into the first image data set andthe second image into the second image data set may include determiningan active image region for each of the first and second images, andextracting an active image data set from the first and second imagescontained within the active image region. The step of extracting theactive image data set may include one or more techniques of cropping thefirst and second images, rotating the first and second images, orshearing the first and second images.

In one implementation, the step of extracting the active image data setmay include arranging the active image data set into an image pixelarray having rows and columns. The step of extracting further mayinclude identifying the maximum pixel value within each column of theimage pixel array, and generating data sets having one row wherein theidentified maximum pixel value for each column represents that column.

Processing the first image into a first image data set and the secondimage into a second image data set also may include filtering the firstand second images. Filtering may include extracting the edges in thefirst and second images. Filtering further may include processing thefirst image data set and the second image data set to emphasizedifferences between the first image data set and the background dataset, and to emphasize differences between the second image data set andthe background data set.

Processing the first image data set and the second image data set togenerate the background data set may include generating a first set ofone or more background data sets associated with the first image dataset, and generating a second set of one or more background data setsassociated with the second image data set.

Generating the first set of one or more background data sets may includegenerating a first background set representing a maximum value of datawithin the first image data set representative of the background, andgenerating the second set of one or more background data sets includesgenerating a second background set representing a maximum value of datawithin the second image data set representative of the background.Generating further may include, for the first and second background setsrepresenting the maximum value of data representative of the background,increasing the values contained within the first and second backgroundsets by a predetermined value.

Generating the first set of one or more background data sets may includegenerating a first background set representing a minimum value of datawithin the first image data set representative of the background, andgenerating the second set of one or more background data sets mayinclude generating a second background set representing a minimum valueof data within the second image data set representative of thebackground. Generating further may include, for the first and secondbackground sets representing the minimum value of data representative ofthe background, decreasing the values contained within the first andsecond background sets by a predetermined value.

Generating the first set of background data sets may include samplingthe first image data set, and generating the second set of backgrounddata sets may include sampling the second image data set. Sampling mayoccur automatically at predefined time intervals, where each sample mayinclude data that is not associated with the background.

Generating the first set of one or more background data sets may includemaintaining multiple samples of the first image data set within eachbackground data set, and generating the second set of one or morebackground data sets may include maintaining multiple samples of thesecond image data set within each background data set.

Generating each first background data set may include selecting from themultiple samples one value that is representative of the background foreach element within the first image data set, and generating each secondbackground data set may include selecting from the multiple samples onevalue that is representative of the background for each element withinthe second image data set. Selecting may include selecting the medianvalue from all sample values in each of the background data sets.

In other implementations, generating may include comparing the firstimage data set to a subset of the background data set, and comparing thesecond image data set to a subset of the background data set.

In other implementations generating a first difference map further mayinclude representing each element in the first image data set as one oftwo states, and generating a second difference map further may includerepresenting each element in the second image data set as one of twostates, where the two states represent whether the value is consistentwith the background.

In still other implementations, detecting may include identifying acluster in each of the first and second difference maps, where eachcluster has elements whose state within its associated difference mapindicates that the elements are inconsistent with the background.

Identifying the cluster further may include reducing the difference mapto one row by counting the elements within a column that areinconsistent with the background. Identifying the cluster further mayinclude identifying the column as being within the cluster andclassifying nearby columns as being within the cluster. Identifying thecolumn as being within the cluster also may include identifying themedian column.

Identifying the cluster further may include identifying a positionassociated with the cluster. Identifying the position associated withthe cluster may include calculating the weighted mean of elements withinthe cluster.

Detecting further may include classifying the cluster as the object ofinterest. Classifying the cluster further may include counting theelements within the cluster and classifying the cluster as the object ofinterest only if that count exceeds a predefined threshold. Classifyingthe cluster further may include counting the elements within the clusterand counting a total number of elements classified as inconsistentwithin the background within the difference map, and classifying thecluster as the object of interest only if the ratio of the count ofelements within the cluster over the total number of elements exceeds apredefined threshold.

The step of detecting further may include identifying a sub-clusterwithin the cluster that represents a pointing end of the object ofinterest and identifying a position of the sub-cluster.

In the above implementations, the object of interest may be a user'shand, and the method may include controlling an application programusing the absolute position of the object of interest.

The above implementations further may include acquiring a third imageand a fourth image representing different viewpoints of the object ofinterest, processing the third image into a third image data set and thefourth image into a fourth image data set, and processing the thirdimage data set and the fourth image data set to generate the backgrounddata set associated with the background. The method also may includegenerating a third difference map by determining differences between thethird image data set and the background data set, and a fourthdifference map by determining differences between the fourth image dataset and the background data set, and detecting a third relative positionof the object of interest in the third difference map and a fourthrelative position of the object of interest in the fourth differencemap. The absolute position of the object of interest may be producedfrom the first, second, third and fourth relative positions of theobject of interest.

As part of this implementation, the object of interest may be a user'shand, and also may include controlling an application program using theabsolute position of the object of interest.

In another aspect, a method of tracking an object of interest controlledby a user to interface with a computer is disclosed. The method includesacquiring images from at least two viewpoints, processing the acquiredimages to produce an image data set for each acquired image, andcomparing each image data set to one or more background data sets toproduce a difference map for each acquired image. The method alsoincludes detecting a relative position of an object of interest withineach difference map, producing an absolute position of the object ofinterest from the relative positions of the object of interest, andusing the absolute position to allow the user to interact with acomputer application.

Additionally, this method may include mapping the absolute position ofthe object of interest to screen coordinates associated with thecomputer application, and using the mapped position to interface withthe computer application. This method also may include recognizing agesture associated with the object of interest by analyzing changes inthe absolute position of the object of interest, and combining theabsolute position and the gesture to interface with the computerapplication.

In another aspect, a multiple camera tracking system for interfacingwith an application program running on a computer is disclosed. Themultiple camera tracking system includes two or more video camerasarranged to provide different viewpoints of a region of interest and areoperable to produce a series of video images. A processor is operable toreceive the series of video images and detect objects appearing in theregion of interest. The processor executes a process to generate abackground data set from the video images, generate an image data setfor each received video image and compare each image data set to thebackground data set to produce a difference map for each image data set,detect a relative position of an object of interest within eachdifference map, and produce an absolute position of the object ofinterest from the relative positions of the object of interest and mapthe absolute position to a position indicator associated with theapplication program.

In the above implementation, the object of interest may be a human hand.Additionally, the region of interest may be defined to be in front of avideo display associated with the computer. The processor may beoperable to map the absolute position of the object of interest to theposition indicator such that the location of the position indicator onthe video display is aligned with the object of interest.

The region of interest may be defined to be any distance in front of avideo display associated with the computer, and the processor may beoperable to map the absolute position of the object of interest to theposition indicator such that the location of the position indicator onthe video display is aligned to a position pointed to by the object ofinterest. Alternatively, the region of interest may be defined to be anydistance in front of a video display associated with the computer, andthe processor may be operable to map the absolute position of the objectof interest to the position indicator such that movements of the objectof interest are scaled to larger movements of the location of theposition indicator on the video display.

The processor may be configured to emulate a computer mouse function.This may include configuring the processor to emulate controllingbuttons of a computer mouse using gestures derived from the motion ofthe object of interest. A sustained position of the object of interestfor a predetermined time period may trigger a selection action withinthe application program.

The processor may be configured to emulate controlling buttons of acomputer mouse based on a sustained position of the object of interestfor a predetermined time period. Sustaining a position of the object ofinterest within the bounds of an interactive display region for apredetermined time period may trigger a selection action within theapplication program.

The processor may be configured to emulate controlling buttons of acomputer mouse based on a sustained position of the position indicatorwithin the bounds of an interactive display region for a predeterminedtime period.

In the above aspects, the background data set may include data pointsrepresenting at least a portion of a stationary structure. In thisimplementation, at least a portion of the stationary structure mayinclude a patterned surface that is visible to the video cameras. Thestationary structure may be a window frame. Alternatively, thestationary structure may include a strip of light.

In another aspect, a multiple camera tracking system for interfacingwith an application program running on a computer is disclosed. Thesystem includes two or more video cameras arranged to provide differentviewpoints of a region of interest and are operable to produce a seriesof video images. A processor is operable to receive the series of videoimages and detect objects appearing in the region of interest. Theprocessor executes a process to generate a background data set from thevideo images, generate an image data set for each received video image,compare each image data set to the background data set to produce adifference map for each image data set, detect a relative position of anobject of interest within each difference map, produce an absoluteposition of the object of interest from the relative positions of theobject of interest, define sub regions within the region of interest,identify a sub region occupied by the object of interest, associate anaction with the identified sub region that is activated when the objectof interest occupies the identified sub region, and apply the action tointerface with the application program.

In the above implementation, the object of interest may be a human hand.Additionally, the action associated with the identified sub region mayemulate the activation of keys of a keyboard associated with theapplication program. In a related implementation, sustaining a positionof the object of interest in any sub region for a predetermined timeperiod may trigger the action.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. FIG. 15 shows amulticamera motion tracking and control system D100 interfaced with animage viewing system. In this implementation two cameras D101 and D102scan a region of interest D103. A controlled or known background D104surrounds the region of interest D103. An object of interest D105 istracked by the system when it enters the region of interest D103. Theobject of interest D105 may be any generic object inserted into theregion of interest D103, and is typically a hand or finger of a systemuser. The object of interest D105 also may be a selection device such asa pointer.

The series of video images acquired from the cameras D101 and D102 areconveyed to a computing device or image processor D106. In thisimplementation, the computing device is a general-purpose computer thatruns additional software that provides feedback to the user on a videodisplay D107.

FIG. 16A illustrates a typical implementation of the multicamera controlsystem D100. The two cameras D101 and D102 are positioned outside of theregion of interest D103. The cameras are oriented so that theintersection D204 of their field of views (D205 for camera D101, D206for camera D102) completely encompasses the region of interest D103. Theorientation is such that the cameras D101, D102 are rotated on axes thatare approximately parallel. In this example, a floor or window ledge andsidewalls provide a controlled background D104 having distinct edges.The corresponding view captured by camera D101 is shown in FIG. 16B.While not shown, it should be understood that the view captured bycamera D102 is a mirror image of the view captured by camera D101. Thecontrolled background D104 may not cover the camera's entire field ofview D205. For each camera, an active image region D208 is found that isentirely contained within the controlled background D104, and alsocontains the entire region of interest D103. The background D104 iscontrolled so that a characteristic of the background can be modeled,and the object of interest D105, either in part or in whole, differsfrom the background D104 in that characteristic. When the object ofinterest D105 appears within the region of interest D103, the object 105will occlude a portion of the controlled background D104 within theactive image region D208 of each camera D101, D102. In the location ofthe occlusion, either as a whole or in parts, the captured images will,in terms of the selected characteristic, be inconsistent with the modelof the controlled background D104.

In summary, the object of interest D105 is identified and, if found, itsposition within the active image region D208 of both cameras iscalculated. Using the position data of each camera D101, D102, as wellas the positions of the cameras relative to the region of interest D103,and parameters describing the cameras, the position of the object ofinterest D105 within the region of interest D103 is calculated.

The processes performed by the image processor D106 (FIG. 15), which maybe implemented through a software process, or alternatively throughhardware, are generally shown in FIG. 17. The camera images aresimultaneously conveyed from the cameras D101, D102 and captured byimage acquisition modules D304, D305 (respectively) into image buffersD306, D307 (respectively) within the image processor D106. Imagedetection modules D308, D309 independently detect the object of interestD105 in each image, and determine its position relative to the cameraview. The relative position information D310, D311 from both cameraviews is combined by a combination module D312 and optionally refined bya position refinement module D313, to determine at block D314, theglobal presence and position of the object of interest D105 within theregion of interest D103. Optionally, specific gestures performed by theuser may be detected in a gesture detection module D315. The results ofthe gesture detection process are then conveyed to another process orapplication D316, either on the same image processor D106 or to anotherprocessing device. The process of gesture detection is described ingreater detail below.

Image detection modules D308 and D309 are identical in the processesthat they execute. An implementation of these image detection modulesD308, D309 is shown in FIG. 18. In block D402, the image processor D106extracts, from the captured image data stored in the image buffers D306or D307, the image data that corresponds to the active image region D208(of FIG. 16B). The image may be filtered in a filtering process D403 toemphasize or extract the aspects or characteristics of the image wherethe background D104 and object of interest D105 differ, but areotherwise invariant within the background D104 over time. In someimplementations, the data representing the active image region may alsobe reduced by a scaling module D404 in order to reduce the amount ofcomputations required in later processing steps. Using the resultingdata, the background D104 is modeled by one or more instances of abackground model process at block D405 to produce one or moredescriptions represented as background model data 406 of the controlledbackground D104. Therefore the background D104 is modeled in terms ofthe desired aspects or characteristics of the image. The backgroundmodel(s) D406 are converted into a set of criteria in process D407. In acomparison process D408, the filtered (from process D403) and/or reduced(from module D404) image data is compared to those criteria (fromprocess D407), and the locations where the current data is inconsistentwith the background model data D406, that is where the criteria is notsatisfied, are stored in an image or difference map D409. In detectionmodule D410, the difference map D409 is analyzed to determine if anysuch inconsistencies qualify as a possible indication of an object ofinterest D105 and, if these criteria are satisfied, its position withinthe camera view (D205 or D206) is determined. The position of the object105 may be further refined (optionally) at block D411, which produces acamera-relative presence and position output D310 or D311 associatedwith the object of interest D105 (as described above with respect toFIG. 17).

In block D402 of FIG. 18, image processor D106 extracts the image datathat corresponds to the active image region D208 (of FIG. 16B). Theimage data may be extracted by cropping, shearing, rotating, orotherwise transforming the captured image data. Cropping extracts onlythe portion of the overall image that is within the active image regionD208. Bounds are defined, and any pixels inside the bounds are copied,unmodified, to a new buffer, while pixels outside of the bounds areignored. The active image region D208 may be of arbitrary shape.Shearing and rotation reorder the data into an order that is moreconvenient for further processing, such as a rectangular shape so thatit may be addressed in terms of rows and columns of pixels.

Rotation causes the contents of an image to appear as if the image hasbeen rotated. Rotation reorders the position of pixels from (x,y) to(x′,y′) according to the following equation:“.times..times..theta..times..times..theta..times..times..theta..times..times..theta..function. ##EQU000011# where .theta.is the angle that the image is to be rotated.

If the cameras D101 and D102 are correctly mounted with respect to theregion of interest D103, the desired angle of rotation will typically besmall. If the desired angle of rotation is small, shearing may be usedto provide an approximation that is computationally simpler thanrotation. Shearing distorts the shape of an image such that thetransformed shape appears as if the rows and columns have been caused toslide over and under each other. Shearing reorders the position ofpixels according to the following equations:“.function..times..times..times. “.function..times. ##EQU000021# wheresh.sub.x represents the amount of horizontal shear within the image, andsh.sub.y represents the amount of vertical shear within the image.

An implementation of the multicamera control system D100 applies inscenarios where the object of interest D105, either in whole or in part,is likely to have either higher or lower luminance than the controlledbackground D104. For example, the background D104 may be illuminated tocreate this scenario. A filtering block D403 passes through theluminance information associated with the image data. A singlebackground model D406 represents the expected luminance of thebackground D104. In practice, the luminance of the controlled backgroundD104 may vary within the active image region D208, therefore thebackground model D406 may store the value of the expected luminance forevery pixel within the active image region D208. The comparison criteriageneration process D407 accounts for signal noise (above that which maybe accounted for within the background model) and minor variability ofthe luminance of the controlled background D104 by modifying eachluminance value from the background model D406, thus producing theminimal luminance value that may be classified as being consistent withthe background model D406. For example, if the luminance of thecontrolled background D104 is higher than the luminance of the object ofinterest D105, then processes block D407 decreases the luminance valueof each pixel by an amount greater than the expected magnitude of signalnoise and variability of luminance.

In some implementations of system D100, the region of interest D103 issufficiently narrow such that it may to be modeled as a region of aplane. The orientation of that plane is parallel to the front and rearfaces of the dotted cube that represents the region of interest D103 inFIG. 15. The active image region D208 may be reduced to a single row ofpixels in the optional scaling module D404 if two conditions aresatisfied: 1) the object of interest D105, when it is to be detected,will occlude the background D104 in all rows of some columns of theactive image region D208, and 2) a single set of values in thebackground model D406 sufficiently characterizes an entire column ofpixels in the active image region D208. The first condition is usuallysatisfied if the active image region D208 is thinner than the object ofinterest D105. The second condition is satisfied by the implementationof blocks D403, D405, D406 and D407 described above. Application of thescaling module D404 reduces the complexity of processing that isrequired to be performed in later processes, as well as reducing thestorage requirements of the background model(s) D406.

The particular implementation of the scaling module D404 depends on thespecifics of processing blocks D403, D405, D406 and D407. If theluminance of the controlled background D104 is expected to be higherthan that of the object of interest D105, as described above, oneimplementation of the scaling module D404 is to represent each column bythe luminance of greatest magnitude within that column. That is to say,for each column, the highest value in that column is copied to a newarray. This process has the added benefit that the high-luminance partof the controlled background D104 need not fill the entire controlledbackground D104.

An alternative implementation applies in scenarios where the controlledbackground D104 is static, that is, contains no motion, but is nototherwise limited in luminance. A sample source image is included inFIG. 19A as an example. In this case, the object of interest, as sensedby the camera, may contain, or be close in magnitude to, the luminancevalues that are also found within the controlled background D104. Inpractice, the variability of luminance of the controlled background D104(for example, caused by a user moving in front of the apparatus therebyblocking some ambient light) may be significant in magnitude relative tothe difference between the controlled background D104 and the object ofinterest D105. Therefore, a specific type of filter may be applied inthe filtering process D403 that produces results that are invariant toor de-emphasize variability in global luminance, while emphasizing partsof the object of interest D105. A 3.times.3 Prewitt filter is typicallyused in the filtering process D403. FIG. 19B shows the result of this3.times.3 Prewitt filter on the image in FIG. 19A. In thisimplementation, two background models D406 may be maintained, onerepresenting each of the high and low values, and together representingthe range of values expected for each filtered pixel. The comparisoncriteria generation process D407 then decreases the low-value andincreases the high-value by an amount greater than the expectedmagnitude of signal noise and variability of luminance. The result is aset of criterion, an example of which, for the low-value, is shown inFIG. 19C, and an example of which, for the high-value, is shown in FIG.19D. These modified images are passed to the comparison process D408,which classifies pixels as being inconsistent to the controlledbackground D104 if their value is either lower than the low-valuecriterion (FIG. 19C) or higher than the high-value criterion (FIG. 19D).The result is a binary difference map D409, of which examplecorresponding to FIG. 19B is shown in FIG. 19E.

The preceding implementation allows the use of many existing surfaces,walls or window frames, for example, as the controlled background D104where those surfaces may have arbitrary luminance, textures, edges, oreven a light strip secured to the surface of the controlled backgroundD104. The above implementation also allows the use of a controlledbackground D104 that contains a predetermined pattern or texture, astripe for example, where the above processes detect the lack of thepattern in the area where the object of interest D105 occludes thecontrolled background D104.

The difference map D409 stores the positions of all pixels that arefound to be inconsistent with the background D104 by the above methods.In this implementation, the difference map D409 may be represented as abinary image, where each pixel may be in one of two states. Those pixelsthat are inconsistent with the background D104 are identified or“tagged” by setting the pixel in the corresponding row and column of thedifference map to one of those states. Otherwise, the correspondingpixel is set to the other state.

An implementation of the detection module D410, which detects an objectof interest D105 in the difference map D409, shown in FIG. 20. Anotherscaling module at block D603 provides an additional opportunity toreduce the data to a single dimensional array of data, and mayoptionally be applied to scenarios where the orientation of the objectof interest D105 does not have a significant effect on the overallbounds of the object of interest D105 within the difference map D409. Inpractice, this applies to many scenarios where the number of rows isless than or similar to the typical number of columns that the object ofinterest D105 occupies. When applied, the scaling module at block D603reduces the difference map D409 into a map of one row, that is, a singledimensional array of values. In this implementation, the scaling moduleD603 may count the number of tagged pixels in each column of thedifference map D409. As an example, the difference map D409 of FIG. 21Ais reduced in this manner and depicted as a graph D709 in FIG. 21B.Applying this optional processing step reduces the processingrequirements and simplifies some of the calculations that follow.

Continuing with this implementation of the detection module D410, it isobserved that the pixels tagged in the difference map (D409 in exampleFIG. 21A) that are associated with the object of interest D105 willgenerally form a cluster D701, however the cluster is not necessarilyconnected. A cluster identification process D604 classifies pixels (or,if the scaling module D603 has been applied, classifies columns) as towhether they are members of the cluster D701. A variety of methods offinding clusters of samples exist and may be applied, and the followingmethods have been selected on the basis of processing simplicity. It isnoted that, when the object of interest D105 is present, it is likelythat the count of correctly tagged pixels will exceed the number offalse-positives. Therefore the median position is expected to fallsomewhere within the object of interest D105. Part of thisimplementation of the cluster identification process D604, when appliedto a map of one row (for example, where the scaling module at block D603or D404 has been applied), is to calculate the median column D702 andtag columns as part of the cluster D701 (FIG. 21B) if they are within apredetermined distance D703 that corresponds to the maximum number ofcolumns expected to be occupied. Part of this implementation of thecluster identification process D604, when applied to a map of multiplerows, is to add tagged pixels to the cluster D703 if they meet aneighbor-distance criterion.

In this implementation, a set of criteria is received by a clusterclassification process D605 and is then imposed onto the cluster D701 toverify that the cluster has qualities consistent with those expected ofthe object of interest D105. Thus, process D605 determines whether thecluster D701 should be classified as belonging to the object of interestD105. Part of this implementation of the cluster classification processD605 is to calculate a count of the tagged pixels within the clusterD701 and to calculate a count of all tagged pixels. The count within thecluster D701 is compared to a threshold, eliminating false matches inclusters having too few tagged pixels to be considered as an object ofinterest D105. Also, the ratio of the count of pixels within the clusterD701 relative to the total count is compared to a threshold, furtherreducing false matches.

If the cluster D701 passes these criteria, a description of the clusteris refined in process block D606 by calculating the center of gravityassociated with the cluster D701 in process D607. Although the medianposition found by the scaling module D603 is likely to be within thebounds defining the object of interest D105, it is not necessarily atthe object's center. The weighted mean D710, or center of gravity,provides a better measure of the cluster's position and is optionallycalculated within process D606, as sub-process D607. The weighted meanD710 is calculated by the following equation:

.times..function..times..function. ##EQU00003#14# where: x is the mean cis the number of columns C[x] is the count of tagged pixels in column x.

The cluster's bounds D704 may also be optionally calculated withinprocess D606, shown as process D608. The cluster D703 may include somefalse-positive outliers, so as part of this implementation, the boundsmay be defined as those that encompass a predetermined percentile of thetagged pixels, or, in scenarios where relatively few pixels are expectedto be tagged, encompasses those tagged pixels (or columns, if scalingmodule D603 is applied) that form tight sub-clusters, that is thosetagged pixels (or columns) that have neighbors that are also tagged.

In addition to the middle and bound coordinates, the orientation of theobject of interest D105 may optionally be inferred by calculation of themoments of the cluster. This calculation is represented by a clusterorientation calculation process at sub-process D609 within process D606.

In some applications of the system D100, the object of interest D105 isused as a pointer. In this case, the “pointing end” of the object D105is desired and may also be determined by a pointing end calculationsub-process within process D606 if the region of interest D103 containsa sufficient number of rows and the number of rows has not been reduced.An example is depicted in FIG. 21C. The object of interest D105 willtypically enter, or be constrained to enter, the active image regionD208 from a known border of that region. The pointing end D705 (forexample the user's fingertip) of the object of interest D105 is likelyto be the portion of the cluster D701 that is furthest from the regionof entry D706 into the active image region D208. The cluster D701 mayinclude some false-positive outliers. As such, the pointing end D705 maybe defined as the region D707 within the cluster D701 that encompassesmultiple tagged pixels near the furthest bounding side of the clusterD701, or, in scenarios where relatively few pixels are expected to betagged, encompasses the furthest tagged pixels that form a tightsub-cluster; that is those tagged pixels that have neighbors that arealso tagged. This sub-cluster is identified by a sub-cluster pointingend process D610, and the position of the sub-cluster is found inprocess D611.

Continuing with this implementation, a process implemented by asmoothing module D612 may optionally be applied to any or all of thepositions found in process D606. Smoothing is a process of combining theresults with those solved previously so they move in a steady mannerfrom frame to frame. The weighted mean coordinate D710, found by thecenter of gravity determination process D607, is dependent on manysamples and therefore is inherently steady. The bound D704, found by thecluster bounding dimension determination process D608, and pointing endD705, found by D611, coordinates are dependent on relatively fewermembers of the cluster, and the state of a single pixel may have asignificant effect. Since the size of the region occupied by the objectof interest 105 is expected to remain relatively steady, smoothing maybe applied to the distance between the bounds D704 measured relative tothe cluster's weighted mean coordinate D710. Since the shape andorientation of the object of interest D105 is expected to change lessrapidly than the overall position object of interest D105, smoothing maybe applied to the distance of the pointing end D705 measured relative tothe cluster's weighted mean coordinate D710.

A process used in the center of gravity process D607 is Eq. 1 asfollows:

s(t)=(a.times.r(t))+((1−a).times.s(t−1))

-   In Eq. 1, the smoothed value at time t (s(t)) is equal to one minus    the scalar value (a) multiplied by the smoothed value at time minus    one (t-1). This amount is added to the raw value at time t (r(t))    multiplied by a scalar (a) that is between zero and one.

Referring to FIG. 22, implementations of system D100 make use of, asdescribed above, one or more background models D406 (FIG. 22). Animplementation of the background model process or component D405 thatgenerates the background model data D406 is shown in FIG. 22. Thisimplementation of the background model component D405 automaticallygenerates and dynamically updates the background model, allowingunattended operation of the system.

Input data D802 is provided by the output of scaling module 404 for thisimplementation of the background model component D405. Input isavailable every frame, and is sampled in a sampling process D803. Thesample may contain the object of interest D105 occluding part of thecontrolled background D104. For each pixel, a range of values may be abetter representative of the background D104 than a single value. Byincluding the effects of this range in the background model, theexpansion in process D407 may be made tighter. Contributing multipleframes of data to the sample allows this range to be observed, but alsoincreases the portion of the background D104 that is occluded by theobject of interest D105 if the object of interest D105 is in motionwhile the frames are being sampled. The optimal number of frames to useis dependent on the expected motion of the object of interest D105 inthe particular application of the system. In practice, for systems thatare tracking a hand, 10 frames, representing approximately 0.33 seconds,is sufficient to observe the majority of that range without allowingmotion of the object of interest to occlude an undue portion of thebackground. If the particular background model is to be compared incomparison process D408 as the upper bound on values that are consideredto be consistent with the background D104, then the maximum value ofeach pixel observed in the multiple frames may be recorded as the samplevalue. If the particular background model D406 is to be compared inprocess D408 as the lower bound on values that are considered to beconsistent with the background D104, then the minimum value of eachpixel observed in the multiple frames may be recorded as the samplevalue.

In this implementation of the background model component D405, samplesfrom the sampling process D803 are added to a buffer D804 having storagelocations to store n samples, where the oldest sample in the history isreplaced. The history therefore contains n sampled values for eachpixel. The span of time, d, represented in the buffer is dependent onthe rate that new samples are acquired and added to the history, r, byEq. 2, described as follows: ##EQU00004##

In this implementation, a median process block D805 selects, for eachpixel, a value that it determines is representative of the controlledbackground D104 at the location represented by that pixel. One method ofselecting a value representative of the controlled background D104within process block D805 is to select the median value of then samplesof each pixel. For any pixel, a number of then sampled values in thebuffer D804 may represent the object of interest D105. Duration d isselected so that it is unlikely that the object of interest D105 willocclude any one pixel of the controlled background D104 for anaccumulated duration of d/2 or longer within any time-span of d.Therefore, for any pixel, the majority of the sampled values will berepresentative of the background D104, and therefore the median of thesampled values will be a value representative of the background D104.

The background model component D405 is adaptive, and any changes to thebackground D104 will be reflected in the output of median process blockD805 once they have been observed for time of d/2. This system does notrequire that the entire controlled background D104 be visible wheninitialized, the object of interest D105 may be present wheninitialized, however it does require that samples be observed for timeof d before providing output. Optionally, the constraint may be appliedthat the object of interest D105 must be absent when the system isinitialized, in which case the first observed sample values may becopied into all n samples of the buffer D804, allowing the system toproduce an output sooner.

The duration that any one pixel of the controlled background D104 willbe occluded by the object of interest D105, and therefore the durationd, is dependent on the particular application of the system. The numberof samples, n, can be scaled for the memory buffer and processing poweravailable.

The preceding discussion presents one implementation of obtaining theposition of the object of interest D105 within and relative to theimages acquired by the cameras D101 and D102. If the object of interestD105 was successfully detected and its coordinates found in both camerasviews D205 and D206 by detection modules D308 and D309 of FIG. 17, thenthe combination of these coordinates is sufficient to recover theposition of the object of interest D105 within the region of interestD103. In the implementation outlined in FIG. 17, the position of theobject of interest D105 is calculated in combination module D312.

Turning to FIGS. 23A and 23B, an implementation of the combinationmodule D312 is shown. For each camera D101 and D102, the position p D902of the object of interest D105 on the camera's image plane D904 isconverted to an angle D905, which is referred in this description asbeta (.beta.), and is measured on the reference plane whose normal isdefined by the axes of the rotations of the cameras D101, D102. (Inpractice, the axes are not precisely parallel and do not exactly definea single plane, however the process described herein is tolerant of thaterror). By approximating the camera D101, D102 as an ideal pinhole modelof the camera, that angle (.beta.), relative to the vector D906 definingthe orientation of the camera, is approximated.

Eq. 3, as shown in FIG. 23A, illustrates an approximation calculation asfollows: .beta..times. ##EQU00005## To approximate the angle beta(.beta.), the inverse tangent is applied to the quantity of the focallength (f) divided by the position p on the image plane projected ontothe intersection of the reference plane and the image plane.

For maximum precision, the intrinsic camera parameters (location of theprincipal point and scale of image) and radial distortion caused by thelens should be corrected for by converting the distorted position (asrepresented by the relative position information D310, D311) to theideal position. More specifically, the ideal position is the position onthe image plane D904 that the object D105 would be projected if thecamera D101, D102 had the properties of an ideal pinhole camera, wherebyEq. 3 will produce the exact angle. One set of correction equations arepresented in Z. Zhang, A Flexible New Technique for Camera Calibration,Microsoft Research, http://research.microsoft.com/.about.zhang, which isincorporated by reference. For many applications of the system, theapproximation has been found to provide sufficient precision withoutthis correction noted above.

Continuing with the description of combination module D312, a referencevector D907, as illustrated in FIG. 23B, is defined such that it passesthrough the positions of both cameras D101 and D102 on the referenceplane where the reference plane is defined such that the axis ofrotation of the cameras define the normal of the reference plane. Theangles D908 that the cameras are rotated are measured relative to thereference vector D907.

A formula for measurement of the angles is shown in Eq. 4:.alpha.=.beta..sub.0+.beta. Measurement of the angle alpha (.alpha.) isequal to the angle beta_not (.beta..sub.0) and the angle beta (.beta.).

Eq. 4 is applied to measure the angles D909 of the object of interestD105 relative to the reference vector D907. That angle is referred to bythe alpha (.alpha.) symbol herein. The angle alpha D909 for each cameraD101 and D102, and the length of the reference vector D907, aresufficient to find the position of the object of interest D105 on thereference plane, by Eq. 5 and Eq. 6.

Eq. 5 calculates the offset of the object of interest (y) by theformula: .times. .times..times. .times..alpha..times..times..times..alpha. .times..times. .times..alpha..times..times..alpha.##WEQU00006## The offset (y) is equal to the reciprocal ofthe tangent of the angle (.alpha..sub.A) for camera A 101 and thetangent of the angle (.alpha..sub.B) for camera B D102 multiplied by thevector length D907 (w), the tangent of the angle (.alpha..sub.A) forcamera A D101 and the tangent of the angle (.alpha..sub.B) for camera BD102.

Eq. 6 calculates the offset of the object of interest (x.sub.A) asfollows: .times. .times..alpha. ##EQU00007#1# In Eq. 6, the offset(x.sub.A) is measured by the offset from Eq. 5 (y) divided by thetangent of the angle (.alpha..sub.A) for camera A D101.

The position of the object D105 on the axis perpendicular to thereference plane may be found by Eq. 7, which is applied to the positionin each image, using the distance of the object of interest D105 fromthe camera. .times. .times. ##WEQU00008##

In Eq. 7, the position (z) is calculated as the position (p) on theimage plane projected onto the vector of the image plane perpendicularto that use in Eq. 3 divided by the focal length (f) multiplied by thedistance of the object of interest D105 from the camera (I).

These relations provide a coordinate of the object of interest D105relative to Camera A D101. Knowing the position and size of the regionof interest D103 relative to Camera A D101, the coordinate may beconverted so that it is relative to the region of interest D103, D312 ofFIG. 17.

Smoothing may optionally be applied to these coordinates in refinementmodule D313 of the implementation of this system shown in FIG. 17.Smoothing is a process of combining the results with those solvedpreviously so that motion is steady from frame to frame. One method ofsmoothing for these particular coordinate values (x.sub.A, y, z found bycombination module D312) is described herein. Each of the components ofthe coordinate values associated with the object of interest D105, thatis x, y, and z, are smoothed independently and dynamically. The degreeof dampening S is calculated by Eq. 8, where S is dynamically andautomatically adjusted in response to the change in position iscalculated as follows: .times. .times..Itoreq..alpha..times..times..alpha..times..times. .times..times. .times..alpha..times..times.<<.times. .times..gtoreq..times..times..function..function.##WEQU00009## In Eq. 8, s(t) is the smoothed value at time t, r(t) isthe raw value at time t, D.sub.A and D.sub.B are thresholds, and S.sub.Aand S.sub.B define degrees of dampening.

Two distance thresholds, D.sub.A and D.sub.B, as shown in FIG. 24,define three ranges of motion. A change in position that is less thanD.sub.A, motion is heavily dampened D1001 by S.sub.A, thereby reducingthe tendency of a value to switch back and forth between two nearbyvalues (a side effect of the discrete sampling of the images). A changein position greater than D.sub.B is lightly dampened D1002 by S.sub.B,or not dampened. This reduces or eliminates lag and vagueness that isintroduced in some other smoothing procedures. The degree of dampeningis varied for motion between D.sub.A and D.sub.B, the region marked asD1003, so that the transition between light and heavy dampening is lessnoticeable. The scalar a, which is applied to Eq. 1, is found by Eq. 9as follows: .times. ##EQU00010## In Eq. 9, scalar (a) is bound such thatequal to or greater than zero, and less than or equal to one, thedampening value of S is found by Eq. 8, and e is the elapsed time sincethe previous frame.

These coordinates D314 of the object of interest D105, if found, aretypically conveyed to another process such as a user application programD316 for use. They may be conveyed to another process executing on thesame image processor D106 as the above calculations where performed, orto another computing device. The method in which the data are conveyedto the application program D316 may include emulation of a traditionaluser input device (including mouse and keyboard), allowing the system toprovide control of existing control functions within the applicationprogram D316. The coordinates D314 of the object of interest D105 may becalculated for every video frame captured by the cameras, where onevideo frame is typically captured 30 times or more every second. Thisresults in little latency between the user's actions and theapplication's reactions.

In a typical implementation of the system, the application program D316provides user feedback by displaying to the video display D107 a visualrepresentation of an indicator. The indicator is caused to move suchthat its position and motion mimics the motion of the object of interestD105 (typically the user's hand).

In one variation of this form of user interface, the indicator, such asa mouse pointer, is shown in front of other graphics, and its movementsare mapped to the two dimensional space defined by the surface of thescreen. This form of control is analogous to that provided by a computermouse, such as that used with the Microsoft® Windows® operating system.An example feedback image of an application that uses this style ofcontrol is shown as D1102 in FIG. 25A.

Referring to FIG. 25A (and briefly to FIG. 17), the image processor D106also includes an optional coordinate re-mapping process D317 (FIG. 17).The coordinate re-mapping process D317 is operable to remap the globalpresence and position coordinates D314 (associated with the object ofinterest D105) into the position where the indicator D1101 (such as acursor or mouse pointer) is overlaid onto the image D1102 by way of Eq.10 for the x coordinate, and the equivalent of this equation for theycoordinate, as follows: <.ltoreq..ltoreq.>##EQU000111#

In Eq. 10, x.sub.h is the coordinate position D314 associated with theobject D105, x.sub.c is the cursor position on the screen, mapped 0-1,and b.sub.l and b.sub.r are the positions of the left and right boundsof a sub-region within the region of interest D103. As illustrated inFIG. 25B, the entire region of the display D1102 is represented by asub-region D1103 contained entirely within the region of interest D103.Positions (for example, position A D1105) within the sub-region D1103are linearly mapped to positions (for example, D1106) within the displayD1102. Positions (for example, position B D1107) outside the sub-regionD1103 but still within the region of interest D103 are mapped to thenearest position (for example, D1108) on the border of the displayregion D1102. This reduces the likelihood of the user unintentionallyremoving the object of interest D105 (usually the user's hand orpointing finger) from the sub-region while attempting to move theindicator D1101 to a position near a border of the display.

In scenarios where the region of interest D103 is immediately in frontof the video display D107, the sub-region D1103 may be defined to bealigned to the video display D107, so that the indicator D1101 willappear to be aligned with the object of interest D105. If the region ofinterest D103 is relatively thin, for example less that 5 cm, and thesub-region D1103 is defined in this way, then the system approximates,in terms of user-interaction, a “touch-screen” without limitations onthe size of the video display D107, and without requiring direct contactbetween the user and video display's D107 surface (for example, thevideo display and user may be on opposite sides of a window). As will beappreciated, the system D100 can be used with a variety of video displaysizes, and may include not only computer monitors (whether CRT or LCDtype displays), but also may include rear projection style televisionmonitors, large flat screen LCD monitors, and forward projection stylepresentation systems.

In scenarios where the region of interest D103 is not immediately infront of a large video display D107, and the active image region D208 issufficiently deep that the orientation of the object of interest isfound in the orientation calculation process D609, a vector may beextended from the object of interest's position to the video displayD107 using the angle of orientation to detect the position on the videodisplay that the user is “pointing to.”

Most often, however, the active image region D208 is not sufficientlydeep to accurately calculate the orientation in process block D609. Inthese scenarios, where the region of interest D103 is not immediately infront of a large video display D107 and the orientation is notcalculated, Eq. 10 may be applied where the sub-region D1103 is smallerthan the video display. The processor then maps the absolute position ofthe object of interest D105 to the position indicator such thatmovements of the object of interest D105 are scaled to larger movementsof the location of the position indicator on the video display, whichallows the entire area of the video display to be easily reached by theuser (for example the sub region D1103 may be defined to be at most 750mm in width and proportional in height, a size that is easily reached bymost users). When setup in this way, the system still provides the userthe feeling of “pointing to the screen.”

In another variation of this form of user interface, the user causes arepresentation of an indicator to move within a representation of athree dimensional virtual environment (examples are presented in FIG.26A and FIG. 26B). The virtual environment may be rendered usingprojective transforms, so that the depths of the virtual environment areimplied by the image presented on the video display D107. Techniques forrending this sort of virtual environment include OpenGL. Eq. 10 is usedto remap the x, y, and z coordinates (the sub-region 1103 becomes, forexample, a cube).

Applications that are controlled by a movable on screen indicator (forexample, FIGS. 25A, 26A, and 26B), whose control has been discussed,typically present graphic representations of data or interactiveelements (for example, a button D1109 or an object representationD1202). The user is expected to cause the indicator D1101 to bepositioned over one of these objects, or if a three-dimensional virtualenvironment is presented, touches or interacts with the object. For atwo-dimensional interface, this condition may be detected by comparingthe remapped indicator position D1106 to the bounds (for example, D1110)of the graphic representation of the object, where this condition istrue if the indicator position is within the object bounds. For thethree-dimensional interface, this condition may be detected by comparingthe bounds D1203 of either the entire indicator D1101, or if finercontrol is required, a part of the indicator, with the bounds D1204 ofthe object D1202. The user optionally receives feedback indicating thatthe cursor is positioned over an object. Feedback may be of a variety offorms, including an audio cue and/or a change in the graphicalrepresentation of either or both the cursor and object. The user maythen activate, manipulate, or move the object that is under the cursor.The user is expected to indicate his intention to activate, manipulate,or move the object by performing a gesture.

The motion of the object of interest D105 may optionally be interpretedand classified by the gesture detection module D315 as described abovewith respect to FIG. 17. The gesture detection process D315 may utilizethe data produced from any component of the system. The finalcoordinates D314, image coordinates D310 and D311, or a combination ofD310, 311, and 314, may be sampled over time and provided as input tothe gesture detection process D315. A variety of gestures (for example,“hovering” and “poking”) have been successfully detected using this dataas input to a gesture detection process D315.

In scenarios where the application's state (that is, whether of not theindicator D1101 is over a button D1109) is known and is conveyed to thegesture detection module D315. One gesture that the user performs toindicate the intention to activate the object (for example screenobjects D1109, D1202) that is under the cursor D1101 is to cause thecursor to hover over the object (examples D1109, D1202) for longer thana predefined duration. This gesture performed by the user is detected bymonitoring the application's state and triggering the gesture when theapplication state remains unchanged for the predetermined duration. Theapplication need not be created specifically for the multicamera controlsystem D100, as techniques exist that can unobtrusively monitor anapplication's state (in the Windows operating system by setting a “hook”using the Windows SDK function “SetWindowsHookEx”) and emulating a mouse“click” (in the Windows operating system by using the Windows SDKfunction “SendInput”).

In some scenarios, the application state may not be available and maynot be monitored. In this case, some exemplary gestures that indicatethe intention to active the object (for example screen objects D1109,D1202) under the cursor D1101 are holding the hand stationary(“hovering”), or poking the hand quickly forward and back.

A method by which “hovering” has been detected is by keeping a historyof the position of the object of interest D105, where that historycontains all records of the position and state for a predefined durationof time, ending with the most recent sample. That duration representsthe minimum duration that the user must hold the hand stationary. Theminimum and maximum position, separately in each of the three (x,y,z)dimensions, is found within the history. If the object of interest D105was present within the region of interest D103 in all samples of thehistory, and the distance between the minimum and maximum is within apredefined threshold for each of the three dimensions, then the“hovering” gesture is reported. Those distance thresholds represent themaximum amount that the object of interest D105 is allowed to move, plusthe maximum amount of variation (or “jitter”) expected to be introducedinto the hand position by the various components of the system. Thetypical method in which this gesture is reported, where the system isemulating a mouse as described above, is to emulate a mouse “click.”Gestures representing additional operations of the mouse, “doubleclicks” and “dragging,” have also been detected and those operationshave been emulated.

In addition, gestures that are independent of the position of theindicator relative to an object may optionally be detected and givenmeaning by the application that may or may not be dependent on theapplication's state. An application that uses this style of interactiontypically does not explicitly use or display the object of interest'sposition D317 or other positions. These applications can be wholly orprimarily controlled with only the interpretations of the positions madeby this system. These applications also need not be created specificallyfor this system because the interpretations made by this system can beused to simulate an action that would be performed on a traditional userinput device, such as a keyboard or joystick.

Many useful interpretations depend directly on the absolute position ofthe object of interest D105 within the region of interest D103.(Alternately, the indicator position D1105 within the sub-region D1103may be used in an equivalent manner). One method of making theseinterpretations is to define boxes, planes, or other shapes. A state istriggered on if the position (for example the position defined by blockD314, or alternately by the remapped coordinates from remapping processD317) of the object of interest D105 is found to be within a first box(or beyond the border defined by the first plane), and had not been inthe immediately preceding observation (either because it was elsewherewithin the region of interest D103, or was not detected). This state ismaintained until the hand position is not found to be within a secondbox (or beyond the border defined by the second plane), at which timethe state is triggered off. The second box must contain the entire firstbox, and is typically larger. The use of a larger box reducesoccurrences of the state unintentionally triggering on and off when theobject of interest D105 is detected to be near the border of the boxes,where a very small motion or minor noise in the image signals wouldotherwise cause the position D317 to otherwise drift in and out of thebox. Typically one of three methods of interpreting this state is used,depending on the intended use of the gesture. In one method, the gesturedirectly reflects the state with an on and off trigger. When emulating akeyboard key or joystick fire button, it is “pressed” when the state istriggered on, and “released” when the state is triggered off. In anothermethod, the gesture is only triggered by the transition of the statefrom off to on. When emulating a keyboard key or joystick button, thekey is “clicked.” Although the duration and off state are not reportedto the application, they are maintained so that the gesture will not berepeated until after the state is triggered off, so that each instanceof the gesture requires a clearly defined intent by the user. A thirdmethod is to trigger the gesture when by the transition of the statefrom off to on, and to periodically re-trigger the gesture at predefinedintervals so long as the state remains on. This emulates that way inwhich, holding a key down on a keyboard, causes the character to repeatin some applications.

One way in which boxes or planes, for the above techniques, may bedefined within the region of interest D103 is as follows. By defining afirst plane (D1501 in FIG. 27A) and second plane D1502 that divides theregion of interest into “fire” D1503 and “neutral” D1504 regions (thegesture reported when the object of interest D105 is in the region D1505between the planes depends on the previous positions of the object, asdescribed above), the above technique can detect the object of interestD105 (typically a hand) “pushing” forward, which is one gesture foremulating a fire button on a joystick, or causing the application torespond in a way that is commonly associated with the pressing of ajoystick button (for example, the firing of a weapon in a video game).

Another technique in which boxes or planes, for the above techniques,may be defined within the region of interest D103 is as follows. Planesof the first type D1506, D1507, D1508, D1509 are defined that separateeach of the left, right, top and bottom portions of the region ofinterest D103, overlapping in the corner regions as illustrated in FIG.27B. Planes of the second type are labeled as D1510, D1511, D1512,D1513. Each pair of first and second planes is processed independently.This combination of planes emulates the four directional cursor keys,where a hand in a corner triggers two keys, commonly interpreted by manyapplications as the four secondary 45 degree (diagonal) directions.Emulating the keyboard cursor in this method allows a variety ofexisting applications to be controlled by system D100, including, forexample, Microsoft® PowerPoint® which responds to the emulated cursorkeys (e.g. the up and down arrow keys) by advancing to the next orprevious slide in a presentation sequence.

Another method of emulating control of discreet directions applies forapplications that expect the four 45 degree direction states to beexplicitly represented. Boxes D1514, D1515, D1516, D1517 are defined foreach of the four primary (horizontal and vertical) directions, withadditional boxes D1518, D1519, D1520, D1521 defined for each of thesecondary 45 degree (diagonal) directions as illustrated FIG. 27C. Forclarity, only boxes of the first type are illustrated. A gap is placedbetween these boxes. FIG. 27D illustrates how neighboring boxes aredefined. The gap between boxes of the first type D1522, D1523 assuresthat the user intentionally causes the object of interest D105 to enterthe box, while the gap D1524 is filled by overlapping boxes of thesecond type D1525, D1526, so that the system will report the previousgesture until the user was clearly intended to move the object ofinterest D105 into either a neighboring box or the central neutralregion. This combination of buttons can be used to emulate aneight-directional joystick pad.

A wider class of gestures depend on motion instead of or in addition toposition. An example is the gesture of “swiping the hand to the left.”This is a one gesture to convey to an application that it is to returnto a previous page or state. Through emulation of a keyboard and mouse,this gesture may be used to control information presentation software,in particular Microsoft® PowerPoint® to go to the previous slide of apresentation sequence. Through emulation of a keyboard and mouse, thisgesture causes a web browser to perform the action associated with its“back” button. Similarly, the gesture of “swiping the hand to the right”is one gesture to convey to an application that the user desires to goto the next page or state. For example, this gesture causes presentationsoftware to go to the next slide of a presentation sequence, and causesbrowser software to go to the next page.

One method for detecting “swiping the hand to the left” is as follows. Athin stripe along the leftmost part of the region of interest D103 isdefined as the left-edge region. The position (for example the positiondefined by block D314, or alternately by the remapped coordinates fromremapping process D317) of the object of interest D105 is represented asthe following three states: 1. Object of interest is present and notinside the left-edge region 2. Object of interest is present and insidethe left-edge region 3. Object of interest is not present within thehand detection region.

A transition from state 1 to state 2 above causes the gesture detectionmodule D315 to enter a state whereby it starts a timer and waits for thenext transition. If a transition to state 3 is observed within apredetermined duration of time, the “swiping the hand off to the left”gesture is reported to have occurred. This technique is typicallyduplicated for the right, upper, and lower edges, and, because the handposition is found in three dimensions, also duplicated to detect“pulling the hand back.”

A variety of gesture detection techniques have been discussed. Stillother gesture detection techniques (for example, Hidden Markov Layers)are described in research literature, and may be applied in the variousimplementations of the system D100 described herein.

Referring back to FIGS. 15 and 17, another implementation of themulticamera control system D100 is described in further detail. WhileFIG. 15 shows a two camera system, it should be understood that theimage processor D106 can be configured to receive input from more thantwo cameras, and may for particular applications include four (4) ormore video cameras. In the four camera implementation, componentsD304-D311 of FIG. 17 are duplicated to support the two additionalcameras. Additionally, the combination module D312 is configured toreceive four sets of camera-relative presence and position data (similarto data D310 and D311) associated with the object of interest D105 beingtracked. The techniques and equations (in particular, Eq. 5 and Eq.6)previously described can be applied to the additional pair(s) ofcameras, where the output of the combination module D312 is the averageof all the position from each of the camera pairs. The gesture detectionmodule D315 is similarly reconfigured to receive four sets ofcameral-relative presence and position data D310, D311 from the twoadditional detection modules (similar to D308, D309) which aresubstantially similar to detection modules D310 and D311.

The output from the image processor 106, which now includes processedobject position coordinates and gesture information associated with fourcameras, can be used by another process or user application program 316.The formulas and geometry (described above) used to calculate coordinateinformation associated with the object of interest 105 from the twoadditional cameras are also used.

In one implementation using four cameras, the two additional cameras arepositioned at the bottom two corners within the controlled backgroundD104 and are oriented such that the region of interest D103 is withinthe field of view D205 of each camera. The advantage of a four camerasystem is that the position of the object of interest D105 can betracked with greater accuracy. Thus, the application program may includemore screen objects with increased density on the video display D107because the increased tracking accuracy allows objects that are close inproximity to be correctly selected by small movements with the object ofinterest D105. Moreover, the two additional cameras reduce errors intracking the object of interest D105 when a portion of the object ofinterest D105 is occluded within the field of view D205 associated withone or more of the other cameras.

Neutral Position of a Device

According to one general aspect, a method is disclosed. The methodincludes determining a neutral position of a device in relation to atleast a first axis, the device including at least a first controlassociated with a first plurality of output signals, and measuring anangular displacement of the device about at least the first axis. Themethod also includes receiving a selection of the first control, andoutputting one of the first plurality of output signals based at leastupon the selection and the angular displacement.

Implementations may include one or more of the following features. Forexample, the neutral position of the device may be determined inrelation to at least a second axis, orthogonal to the first axis, wherethe angular displacement may include a first-axis component and asecond-axis component. Furthermore, the neutral position of the devicemay be determined in relation to at least a third axis orthogonal to thefirst axis and the second axis, where the angular displacement mayinclude a third-axis component. The first axis, the second axis, and/orthe third axis may intersect within the device.

The first control may be associated with at least three output signals,or at least nine output signals, where each of the plurality of outputsignals may correspond to a character, such as an alphanumericcharacter. The method may further include displaying the output signal,and/or displaying an indication of the angular displacement. The methodmay also further include defining a plurality of tilt regions about thefirst axis, wherein one of the first plurality of output signals is alsooutput based upon the plurality of tilt regions. The angulardisplacement of the device about the first axis may be measured as0.degree., where a first tilt region encompasses an angular displacementof 0.degree., or the first tilt region may be defined as a regionencompassing approximately −30.degree. to 0.degree. about the firstaxis, where the second tilt region is defined as a region encompassingapproximately 0.degree. to +30.degree. about the first axis. In afurther aspect, a first output signal may be output if the angulardisplacement is within the first tilt region when the selection isreceived, where a second output signal may be output if the angulardisplacement is within the second tilt region when the selection isreceived. A third or fourth output signal may be output if the angulardisplacement is within the third or fourth tilt region, respectively,when the selection is received.

The method may also define a plurality of first-axis tilt regions aboutthe first axis and a plurality of second-axis tilt regions about thesecond axis, where the one of the first plurality of output signals mayalso be output based upon the plurality of first-axis tilt regionsand/or the plurality of second-axis tilt regions. When the selection isreceived, a first output signal may be output if the first-axiscomponent is within a first first-axis tilt region and if thesecond-axis component is within a first second-axis tilt region, asecond output signal may be output if the first-axis component is withina second first-axis tilt region and if the second-axis component iswithin the first second-axis tilt region, a third output signal may beoutput if the first-axis component is within the second first-axis tiltregion and if the second-axis component is within a second second-axistilt region, and/or a fourth output signal may be output if thefirst-axis component is within the second first-axis tilt region and ifthe second-axis component is within the second second-axis tilt region.

Alternatively, in another aspect, when the selection is received, afirst output signal may be output if the first component is within afirst first-axis tilt region and if the second-axis component is withina first second-axis tilt region, a second output signal may be output ifthe first component is within the first first-axis tilt region and ifthe second-axis component is within a second second-axis tilt region, athird output signal may be output if the first component is within thefirst first-axis tilt region and if the second-axis component is withina third second-axis tilt region, a fourth output signal may be output ifthe first component is within a second first-axis tilt region and if thesecond-axis component is within the first second-axis tilt region, afifth output signal may be output if the first component is within thesecond first-axis tilt region and if the second-axis component is withinthe second second-axis tilt region, a sixth output signal may be outputif the first component is within the second first-axis tilt region andif the second-axis component is within the third second-axis tiltregion, a seventh output signal may be output if the first component iswithin a third first-axis tilt region and if the second-axis componentis within the first second-axis tilt region, an eighth output signal maybe output if the first component is within the third first-axis tiltregion and if the second-axis component is within the second second-axistilt region, and/or a ninth output signal may be output if the firstcomponent is within the third first-axis tilt region and if thesecond-axis component is within the third second-axis tilt region.

According to another general aspect, a device is disclosed. The deviceincludes a tilt sensor configured to determine a neutral position of adevice in relation to at least a first axis, and further configured tomeasure an angular displacement of the device about at least the firstaxis. The device also includes at least a first control associated witha first plurality of output signals, and a processor configured toreceive a selection of the first control and further configured tooutput one of the first plurality of output signals based at least uponthe selection and the angular displacement.

Implementations may include one or more of the following features. Forexample, the first axis and the second axis may intersect at a center ofthe device, or at a periphery portion of the device. The device mayfurther include at least second through tenth controls each associatedwith second through tenth pluralities of output signals, respectively.The first control may be a button, and/or the device may be a telephone.The displacement signal may be measured using a tilt sensor, which maybe a gyroscope. The device may further include a display configured todisplay the output signal, and/or configured to display an indication ofthe angular displacement, and the device may further include a keyboardconfigured to input the selection.

According to another general aspect, a computer program product,tangibly stored on a computer-readable medium, is disclosed. Thecomputer program product is operable to cause a computer to performoperations including determining a neutral position of a device inrelation to at least a first axis, the device including at least a firstcontrol associated with a first plurality of output signals, andmeasuring an angular displacement of the device about at least the firstaxis. The computer program product is also operable to cause a computerto perform operations including receiving a selection of the firstcontrol, and outputting one of the first plurality of output signalsbased at least upon the selection and the angular displacement.

According to another general aspect, a telephone device is disclosed.The telephone device includes a tilt sensor configured to determine aneutral position of the telephone device in relation to at least a rollaxis, and further configured to measure an angular displacement of thetelephone device about the roll axis. The telephone device also includesat least first through eighth buttons each associated with at least fouralphanumeric characters. Furthermore, the telephone device includes aprocessor configured to receive a selection of the first button andfurther configured to output one of the at least four alphanumericcharacters based at least upon the selection and the angulardisplacement.

The details of one or more implementations are set forth in theaccompanying drawings and the description below. Other features will beapparent from the description and drawings, and from the claims.

FIG. 28 depicts the exterior appearance of a device according to oneexemplary implementation, in a state where the device is in the neutralposition. The hardware environment of device E100 includes a keypadincluding at least a first control E102 for entering text data and usercommands into the device E100, a display E105 for displaying text andimages to a user, and an indicator, such as a tilt indicator E106, fordisplaying an indication of angular displacement or tilt orientationabout at least one axis.

Display E105 displays the graphics, images, and text that comprise theuser interface for the software applications used by thisimplementation, as well as the operating system programs necessary tooperate the device E100. A user of device E100 uses first control E102to enter commands and data to operate and control the operating systemprograms as well as the application programs.

Display E105 is configured to display the GUI to a user of device E100.A speaker may also be present also generate voice and sound datareceived from the application programs operating on device E100, such asa voice from another user generated by a telephone application program,or a ring tone generated from a ring tone application program. Amicrophone may also be used to capture sound data generated by the user,for example, when the user is speaking to another user during atelephone call via device E100. Furthermore, tilt indicator E106 isconfigured to indicate the angular displacement or tilt orientation ofdevice E100, to provide visual feedback to the user of device E100 andto make the user aware of the tilt orientation that will be used tointerpret a control selection.

The operation of device E100 is based upon its orientation in twostates: the “neutral” position, and a “selection” position correspondingto the position of the device prior to, at the time of, or after theselection of first control E102. More specifically, and as describedfully below, the output of an output signal by device E100 is dependentupon the angular displacement between the neutral position and theselection position, in relation to at least one axis, where the angulardisplacement has an angular displacement component for each axis ofinterest.

FIG. 28, for example, depicts device E100 in one contemplated three-axisneutral position In particular, orthogonal X, Y and Z-axes intersect atthe center of device E100, where the X-axis extends parallel to thelongitudinal direction of device E100. According to this exemplaryneutral position, a rotation around the X-axis would effectuate arolling motion, a rotation around the Y-axis would effectuate a pitchingmotion, and a rotation around the Z-axis would effectuate a yawingmotion. These roll, pitch, and yaw motions are generically referred toherein as “tilt” motions.

The determination of the number of axes of interest, and the locationand orientation of the axes with relation to device E100, is adevice-specific and application-specific determination, and nolimitation of any of these characteristics is inferred in the followingdescription. For example, where it is undesirable or impossible tomanipulate the device in a yawing motion, or where the number of outputsignals may be effectively controlled using motion about one or twoaxes, the neutral position of the device may be determined with regardto these one or two axes alone. Furthermore, the at least one axis maynot intersect device E100, or the at least one axis may extend along aperiphery or edge portion of device E100. Additionally, one of the axesmay extend parallel along the longitudinal direction of device E100 orit may extend at an angle to the longitudinal direction of device E100.In any regard, the neutral position is aligned with an axis relative tothe Earth, such as a magnetic or true North axis, or an axis pointing tothe center of the Earth, or toward the horizon, with an axis relative tothe user, the device, or other axis.

With regard to telephony, a one-axis neutral position is provided in thecase where angular displacement is to be measured with regard to rollrotation around the X-axis, or a two-axis neutral position is providedin the case where angular displacement is to be measured with regard toroll and pitch rotation around the X-axis and Y-axis, respectively. Ineither case, the X-axis and Y-axis intersect at the center of thedevice, with the X-axis extending longitudinally parallel to thelongitudinal direction of the device. Other neutral positionorientations are contemplated as well.

When inputting characters into a device such as a telephone, the usertypically holds the device at an positive (upwards) pitch angle whilelooking into the display. In that regard, the X-axis of the telephone inthe neutral position may be defined at a similar upwards angle, suchthat flattening the angle of the telephone with regard to the groundwould be registered as a pitched forward tilting motion. In otherinstances, of course, an X-axis which is parallel to the ground is the“neutral” X-axis position.

Although device E100 is illustrated in FIG. 28 as a mobile telephone, infurther aspects device E100 may include a desktop PC, a laptop, aworkstation, a midrange computer, a mainframe, a handheld or tabletcomputer, a personal data assistant (“FDA”) or another type of embeddedsystem such as a computer keyboard or a remote control.

FIG. 29 depicts an example of an internal architecture of theimplementation of FIG. 28. The computing environment includes processorE200 where the computer instructions that comprise an operating systemor an application are processed; display interface E202 which provides acommunication interface and processing functions for rendering graphics,images, and texts on display E105; keypad interface E204 which providesa communication interface to the keypad, including first control E102;tilt sensor E206 for measuring angular displacement of device E100 aboutat least a first axis; indicator interface E208 which provides acommunication interface to the indicators, including tilt indicatorE106, random access memory (“RAM”) E210 where computer instructions anddata are stored in a volatile memory device for processing by processorE200; read-only memory (“ROM”) E211 where invariant low-level systemscode or data for basic system functions such as basic input and output(“I/O”), startup, or reception of keystrokes from the keypad are storedin a non-volatile memory device; and optionally a storage E220 or othersuitable type of memory (e.g. such as random-access memory (“RAM”),read-only memory (“ROM”), programmable read-only memory (“PROM”),erasable programmable read-only memory (“EPROM”), electrically erasableprogrammable read-only memory (“EEPROM”), magnetic disks, optical disks,floppy disks, hard disks, removable cartridges, flash drives), where thefiles that comprise operating system E230, application programs E240 anddata files E246 are stored. The constituent devices and processor E200communicate with each other over bus E250.

RAM E210 interfaces with bus E250 so as to provide quick RAM storage toprocessor 200 during the execution of software programs such as theoperating system application programs, and device drivers. Morespecifically, processor E200 loads computer-executable processes frommemory media into a field of RAM E210 in order to execute softwareprograms. Data is stored in RAM E210, where the data is accessed byprocessor E200 during execution.

Also shown in FIG. 29, storage E220 stores computer-executable code foran operating system E230, application programs E240 such as wordprocessing, spreadsheet, presentation, graphics, image interpretationtraining, gaming, or other applications, and data files E246. Althoughit is possible to use the above-described implementation, it is alsopossible to implement the functions according to the present disclosureas a dynamic link library (“DLL”), or as a plug-in to other applicationprograms such as an Internet web-browser such as the MICROSOFT® InternetExplorer web browser.

Processor E200 is one of a number of high-performance computerprocessors, including an INTEL® or AMD® processor, a POWERPC® processor,a MIPS® reduced instruction set computer (“RISC”) processor, a SPARC®processor, a HP ALPHASERVER® processor, an ACORN® RISC Machine (“ARM®”)architecture processor, or a proprietary computer processor for acomputer or embedded system, without departing from the scope of thepresent disclosure. In an additional arrangement, processor E200 indevice E100 is more than one processing unit, including a multiple CPUconfiguration found in high-performance workstations and servers, or amultiple scalable processing unit found in mainframes.

Operating system E230 may be MICROSOFT® WINDOWS NT®/WINDOWS®2000/WINDOWS® XP Workstation; WINDOWS NT® /WINDOWS® 2000/WINDOWS® XPServer; a variety of UNIX®-flavored operating systems, including AIX®for IBM® workstations and servers, SUNOS® for SUN® workstations andservers, LINUX® for INTEL® CPU-based workstations and servers, HP UXWORKLOAD MANAGER® for HP® workstations and servers, IRIX® for SGI®workstations and servers, VAX/VMS for Digital Equipment Corporationcomputers, OPENVMS® for HP ALPHASERVER®-based computers, MAC OS® X forPOWERPC® based workstations and servers; SYMBIAN OS®, WINDOWS MOBILE® orWINDOWS CE®, PALM®, NOKIA® OS (“NOS”), OSE®, or EPOC® for mobiledevices, or a proprietary operating system for computers or embeddedsystems. The application development platform or framework for operatingsystem E230 may be: BINARY RUNTIME ENVIRONMENT FOR WIRELESS® (“BREW®”);Java Platform, Micro Edition (“Java ME”) or Java 2 Platform, MicroEdition (“J2ME®”); PYTHON®, FLASH LITE®, or MICROSOFT®.NET Compact.

Tilt sensor E206 detects the orientation of device E100, as describedbelow, and is a gyroscope, an optical sensor, and/or other type of tiltsensor. An optical sensor, for example, may be used to detect theorientation of device E100 using an optical flow of a sequence of imagesfrom a camera embedded in device E100 to determine the motion andorientation of device E100. Optical flow describes the apparent relativevelocity of features within a sequence of images. Since optical flow isrelative to the camera, motion of the camera will result in apparentvelocities of features in the camera view. The motion of the camera iscalculated from the apparent velocities of features in the camera view.Position or orientation are also calculated relative to the neutralposition, over an extended span of time. Although tilt sensor E206 hasbeen described as an optical sensor using an optical flow approach fortracking the tilt or inclination of device E100 using camera, in otheraspects the tilt or inclination of device E100 is tracked without usingthe optical flow approach, such as by using an accelerometer.

Computer readable memory media stores information within device E100,and is volatile or non-volatile. Memory may be capable of providing massstorage for device E100. In various different implementations, thememory may be a floppy disk device, a hard disk device, an optical diskdevice, or a tape device. While FIGS. 28 and 29 illustrate one possibleimplementation of a computing system that executes program code, orprogram or process steps, other types of computers or devices may alsobe used as well.

FIG. 30 is a flowchart illustrating a method in accordance with anotherexemplary implementation. Briefly, the method includes determining aneutral position of a device in relation to at least a first axis, thedevice including at least a first control associated with a firstplurality of output signals, and measuring an angular displacement ofthe device about at least the first axis. The method also includesreceiving a selection of the first control, and outputting one of thefirst plurality of output signals based at least upon the selection andthe angular displacement.

In more detail, method E300 begins (step ES301), and a plurality of tiltregions are defined about a first axis (step ES302). As is described inmore detail below, the output of an output signal is based at least uponthe angular displacement of a device upon the selection of a firstcontrol. In accordance with one aspect, tilt ‘regions’ are defined suchthat, upon the selection of the control, if the angular displacementfalls within a particular tilt region or band of angles, an outputassociated with the tilt region is output.

FIGS. 31A to 31D illustrates several example tilt regions with regard toa hypothetical neutral axis, labeled the “N-axis,” where the neutralrepresents the neutral X, Y and/or Z-axis. Each of the X, Y, or Z-axiscan have individually-determined tilt regions, a common tilt regiondefinition can be applied to multiple axes, or axes can have no definedtilt regions.

FIG. 31A illustrates an example of two tilt regions defined about theneutral axis. An angular displacement from approximately −90.degree. to0.degree. about the neutral axis is within region E401, and an angulardisplacement from approximately 0.degree. to approximately 90.degree.about the neutral example is within region E402. An angular displacementfrom approximately 91.degree. to −91.degree., indicative of a devicethat is upside down, does not correspond to any region, and an angulardisplacement of exactly 0.degree. is in either region E401 or E402.

Where the neutral axis represents the X-axis, an angular displacement inregion E401 would result from a negative roll of the device (to theleft), and an angular displacement in region E402 would result from apositive roll of the device (to the right). Where the neutral axisrepresents the Y-axis, an angular displacement in region E401 wouldresult from a negative pitch (forward) the device, and an angulardisplacement in region E402 would result from a positive pitch(rearward) of the device. Where the neutral axis represents the Z-axis,an angular displacement in region E401 would result from a negative yaw(counterclockwise), and an angular displacement in region E402 wouldresult from a positive yaw (clockwise). Although two tilt regions aredepicted, any number of tilt regions may be defined, depending largelyupon the sensitivity of the tilt sensor, the number of output signalsassociated with each control and the ability of the user to discriminatebetween small angles when manipulating the device.

In any case, the signal output by the device is dependant upon theangular displacement and the tilt region. For example, the deviceoutputs a first of a plurality of signals if the angular displacement ofthe device is within a first region, and a second of a plurality ofsignals if the angular displacement of the device is within a secondregion, even if the same control is selected in both circumstances.Although FIG. 28 illustrates regions E401 and E402 as encompassing.+−90.degree. bands, in a similar aspect tilt region E401 defines aregion encompassing approximately −30.degree. to 0.degree. about theneutral axis, and the tilt region E402 defines a region encompassingapproximately 0.degree. to +30.degree. about the neutral axis.

FIG. 31B illustrates an example of four tilt regions defined about theneutral axis, with a dead space between regions at 0.degree. about theneutral axis. Due to the insensitivity of a tilt sensor, the inabilityof a user to discriminate, or for other reasons, it is often desirabledefine a dead space between two otherwise-adjacent regions. Where theneutral axis represents the Y-axis, an angular displacement of betweenapproximately 91.degree. to −91.degree., indicative of a device which isupside down, or an angular displacement of approximately 0.degree. doesnot correspond to any tilt region. If a control is selected when thedevice is not oriented in a tilt region, a default output is output, thelast output is output, no output is output, an output associated withthe closest tilt region or a complementary tilt region is output, oranother type of output is output.

An angular displacement in region E404 would result from a hard negativepitch of the device, although an angular displacement in region E405would also result from a negative pitch which is lesser in magnitudethan a region E404 negative pitch. An angular displacement in regionE407 would result from a hard positive pitch of the device, although anangular displacement in region E406 would also result from a positivepitch which is lesser in magnitude than a region E407 negative pitch.

FIG. 31C illustrates an example of two tilt regions defined about theneutral axis, where the area around 0.degree. about the neutral axis issubstantially within a first region. In particular, where the neutralaxis represents the X-axis, the device would remain in region E409 ifnegatively rolled, if unmoved from the neutral position, or if modestlyrolled in the positive direction. In order for the device to be orientedin region E410, a hard positive roll would have to occur. The tiltregions depicted in FIG. 31C would be desirable, for instance, whereregion E409 represents a default desired output, and where anaffirmative, high magnitude manipulation of the device would benecessary to place the device in region E410, thus overriding thedefault desired output. In the FIG. 31C example, tilt region E409encompasses an angular displacement of 0.degree., where the angulardisplacement of the device is in tilt region E409 if the angulardisplacement about the first axis is measured as 0.degree.

FIG. 31D illustrates an example of two tilt regions defined about theneutral axis, where a single region occupies angular displacement bandson both sides of the neutral axis. More particularly, region E412 isdefined by the area surrounding 0.degree. about the neutral axis, andregion E411 occupies symmetrical angular bands in the positive andnegative angular directions. Where the neutral axis represents theZ-axis, an angular displacement in region E411 would result from ahigh-magnitude positive or negative yaw. An angular displacement inregion E412 would result from a more modest positive or negative yaw, orfrom the orientation of the device remaining in the neutral position.

In any of the above described examples, the neutral axis may representthe X, Y, and/or Z-axis, thus effectively multiplying the total numberof available tilt regions. For example, if the neutral axis in the FIG.31A example represents the X-axis, and the neutral axis in the FIG. 31Bexample represents the Y-axis, a total of eight tilt regions would beavailable, since the four pitch tilt regions of FIG. 31B would each bedivided into the two roll tilt regions of the FIG. 31A example. Assumingthat each axis has an equal number n tilt regions, the total number oftilt regions for a two-axis arrangement is n.sup.2 and the total numberof tilt regions for a three-axis arrangement is n.sup.3.

Finally, it is contemplated that in some instances the angulardisplacement itself, and not the tilt region, will be determinative ofthe output signal, and thus would be unnecessary to define tilt regions.Furthermore, tilt regions are also defined implicitly in the case wherethe range of motion about a desired axis is divided equally by thenumber of output signals, where each output signal corresponds to amathematically-determined range of angles.

Returning to FIG. 30, the neutral position of a device is determined inrelation to at least a first axis, the device including at least a firstcontrol associated with a first plurality of output signals (stepES304).

FIG. 32 illustrates a top exterior view of an example device accordinganother exemplary implementation. Device E500, a mobile telephone, has akeypad including at least first control E502 associated with a firstplurality of output signals. In the illustrated example, first controlE502 is a key, or button, on the keypad or keyboard of device E500,where each individual control represents a multiple of alphanumericcharacters or symbols. Specifically, first control E502 is labeled “9”,and corresponds to four output signals indicative of the characters “W”,“X”, “Y”, and “Z”, or twelve output signals indicative of thecase-sensitive characters “W”, “X” “Y” “Z”, “w”, “x”, “y”, “z”, and thesymbols “,”, “.”, “/”, and “′”. There is no limit for the number ofoutput signals or characters that can correspond to a single control. Inparticular aspects, first control E502 is associated with a plurality ofoutput signals, such as three output signals, or nine output signals.Each of the plurality of output signals may correspond to a character,such as an alphanumeric character or a symbol.

The neutral position of device E500 is determined, for example, whendevice E500 is powered on, prior to or after a selection of the firstcontrol, or at the site of manufacture. In one aspect, a memory bufferstores output data of the tilt sensor, and the neutral position ofdevice E500 is reconstructed from the orientation of device E500 when acontrol is selected and the output data. In another aspect, the neutralposition is a factory pre-set condition, such as the case where theneutral X-axis is defined as extending perpendicular to the center ofthe Earth, such that an angular displacement is measured if device E500faces any direction other than up. In a further aspect, a processor, atilt sensor, and the memory communicate to determine a common neutralposition based upon the average position of device E500 whenever thecontrol is ordinarily selected. Moreover, in an additional aspect, theneutral position is user-selectable. In any regard, the neutral positionoperates effectively to reset the tilt sensor to 0.degree. across eachaxis of interest, where any motion of device E500 away from the neutralposition serves to register an angular displacement. In relation to theuser of device E500 or the Earth, the neutral position is a flatposition, a vertical upright position, or a canted or tilted position.

In an additional aspect, the neutral position of device E500 isdetermined in relation to at least a second axis, orthogonal to thefirst axis, where the angular displacement includes a first-axiscomponent and a second-axis component. In a further aspect, the neutralposition of device E500 is determined in relation to at least a thirdaxis orthogonal to the first axis and the second axis, where the angulardisplacement includes a third-axis component. The first axis, the secondaxis, and/or the third axis intersect within the device E500, outside ofdevice E500, or along a peripheral portion or edge of device E500.

Since device E500 includes a tilt sensor that detects the orientation ofthe device, entry of text into the device is facilitated. For example,the tilt sensor detects a degree to which the device has been rolled tothe left, to the right, or pitched up or down, where the tiltorientation or angular displacement of the device about the axes ofinterest indicates how selection of control E502 is interpreted andoutput. For example, if control E502 corresponds to multiple characters,the orientation of device E502 identifies which of the multiplecharacters is output when control E502 is selected, or identify a casein which the appropriate character is output.

Using the orientation of the device to identify a character to be outputenables a character to be output each time a single control is selected,increasing the speed of text entry by reducing the number of controlselections required to enter text. Because a fixed number of controlsselections represents entry of a character, a user may specify asubsequent character immediately after a current character has beenspecified, eliminating the need to wait for a predetermined amount oftime before specifying the subsequent character, also increasing thespeed of text entry.

As indicated above, the neutral position of the device is a referenceorientation from which an angular displacement is measured about atleast one axis, to the selection position, the selection positioncorresponding to the position of the device prior to, at the time of, orafter the selection of a control such as the first control. In oneaspect, the neutral position of the device is determined in relation toone axis, and the neutral position is determined as a “flat” position,where the one axis is parallel to the ground. In another aspect, theneutral position of the device is determined in relation to two axis,and the neutral position is ergonomically determined as the orientationof a device as it would commonly be held by a user of the device. In afurther aspect, the neutral position of the device is determined inrelation to three axis, where one axis is determined as parallel to amagnetic North-South axis, one axis is determined as parallel to anEast-West axis, and the third axis is determined as facing towards andaway from the center of the Earth.

Returning to FIG. 30, an angular displacement of the device is measuredabout at least the first axis (step ES305). In particular, a tiltsensor, such as tilt sensor E206, measures the angular displacementbetween the current position of the device and the neutral position,where the angular displacement includes a component for each axis ofinterest. In one aspect, the tilt sensor E206 measures the angulardisplacement of the device at the moment the control is selected. Sincethe selection of the control itself may affect the orientation of thedevice, in another aspect the tilt sensor measures the angulardisplacement of the device a time before or after the control isselected.

The tilt sensor detects the orientation of the device. For example, thetilt sensor detects a degree to which the device has been rolled to theleft or right, pitched up or down, or yawed clockwise orcounterclockwise. In one aspect, the tilt sensor measures at least twodiscrete levels of roll tilt about the X-axis, in which case the devicemay be said to be rolled left, rolled right, or not rolled left orright. In addition, the tilt sensor measures at least two discretelevels of pitch tilt about the Y-axis in the forward or backwarddirection, in which case the device may be said to be pitched up,pitched down, or not pitched up or down. Further, the tilt sensormeasures at least two discrete levels of yaw tilt about the Z-axis, inwhich case the device may be said to be yawed clockwise, yawedcounterclockwise, or not yawed. In such an implementation, the tiltsensor indicates that the device has been rolled to the left when thedevice has been rolled between 15.degree. and 45.degree. to the left. Asanother example, the tilt sensor indicates that the device has not beenpitched forward or backwards when the device has been pitched less than15.degree. forward and less than 15.degree. backward. In anotherimplementation, the tilt sensor may indicate more than three levels oftilt in each of the left-to-right and forward or backwards directions.In such an implementation, each of the levels of tilt in a particulardirection corresponds to a range of degrees in which the device has beentilted.

An indication of the angular displacement is displayed (step ES306). Asdescribed above, it is possible that the orientation of the neutralposition may not be instinctive to a user. Furthermore, each axis mayhave two or more tilt regions in each direction about each axis. Forthese and other reasons, an indicator is provided to display either anindication of the angular displacement, or an indication of the tiltregion to which the angular displacement corresponds, in real-time ornear real-time. If the angular displacement is measured at a time beforeor after the control is selected, the indicator estimates theappropriate angular displacement or indication of the tilt region at thetime based upon all available information. If the neutral position isdefined in relation to more than one axis, the user can determine whichaxis the indicator is indicating, the indicator can have a default orpreset axis of interest, or the determination may be context sensitive.

FIGS. 33A to 33B illustrate example indicators according to oneexemplary aspect. In FIG. 33A, indicator E600 indicates the orientationof the device on a display. The indicator provides visual feedback sothat the user is aware of the orientation of the device that will beused to interpret a control selection.

Indicator E600 includes positive tilt indicator E601 and negative tiltindicator E604, that point in the negative (left) and positive (right)directions, respectively. In addition, indicator E600 includes centerindicator E602 that is visually distinguished from positive tiltindicator E601 and negative tilt indicator E604 when the device is nottilted, such as when the device is in the neutral position or in aposition that is unregistered by the tilt sensor, such as upside down.One of the tilt indicators is illuminated or otherwise visuallydistinguished from the other tilt indicator and center indicator E602when the device is tilted in the indicated direction. Furthermore,center indicator E602 is illuminated or otherwise visually distinguishedfrom positive tilt indicator E601 and negative tilt indicator E604 whenthe device is not rolled to the left of the right. The center indicator,for example would be illuminated when the device is oriented asillustrated in FIG. 28. Positive tilt indicator E601 would beilluminated when the device is oriented as illustrated in region E402 ofFIG. 31A, and negative tilt indicator E604 would be illuminated when thedevice is oriented as illustrated in region E401 of FIG. 31A.

In another implementation illustrated in FIGS. 33B and 33C, indicatorE605 also includes two partial tilt indicators E606 and E607 that alsopoint in the negative and positive directions, respectively. Each of thepartial tilt indicators is located between center indicator E604 andeither negative tilt indicator E604 or positive tilt indicator E601. Thepartial tilt indicators are illuminated or otherwise visuallydistinguished from the other components of indicator E605 when thedevice is tilted partially in an indicated direction. In oneimplementation, both the partial tilt indicator and the center indicatorare illuminated when the device is partially tilted partially in thecorresponding direction. For example, negative tilt indicator E604 wouldbe illuminated when the device is oriented in tilt region E404 of FIG.31B, negative partial tilt indicator E606 and center indicator E602would be illuminated when the device is oriented in tilt region E405 ofFIG. 31B, center indicator 602 would be illuminated when the device isoriented in the neutral position, as illustrated in FIG. 28, positivepartial tilt indicator E607 and center indicator 602 would beilluminated when the device is oriented in tilt region E406 of FIG. 31B,and positive tilt indicator E601 would be illuminated when the device isoriented in tilt region E407 of FIG. 31B. Any number of tilt indicatorsor partial tilt indicators are contemplated for each axis. For an axishaving several dozen associated tilt regions, for example, the samenumber, more or fewer tilt indicators may be used to provide visualfeedback.

FIG. 33D illustrates a two-axis tilt indicator which may be presented onthe display. Although the axes discussed in conjunction with FIG. 33Dare referred to as the pitch (forward and backward) and roll (left andright) axes, these designations are arbitrary, and one set of indicatorscould also be the yaw axis, or another axis. Indicator E609 operatessimilarly to indicator E605 with regard to one axis, however, indicatorE609 also integrates a pitch tilt indicator comprising negative pitchindicator E610, partial negative pitch indicator E611, partial positivepitch indicator E612, and positive pitch indicator E614, to thepreviously described one-axis indicator E605, which was described as aroll indicator. In another aspect illustrated in FIG. 33E, the indicatorincludes a single feature E615 that indicates the significance of theorientation of the device. For example, the single feature indicatorindicates whether or not numbers may be output because of themeasurement of the angular displacement of the device.

Although the indicator is depicted in FIGS. 28 and 33 as a series ofarrows or intuitive lights, in one aspect the indicator is incorporatedinto the display, such as display E105, or the indicator is a speakerwhich plays sounds or sound files which describe the tilt of the deviceto the user via audio. Furthermore, in another aspect, no indication ofangular displacement or tilt region is displayed or otherwise generated.

Returning to FIG. 30, a selection of the first control is received (stepES307). In one aspect, the control is a keypad button, and selectionoccurs when the user depresses the button, thereby enabling a signal tobe generated and transmitted to the processor indicating that aselection of the keypad button has occurred. In another aspect, thecontrol is not a physical control, but rather an icon on atouch-sensitive screen. In this aspect, selection occurs when the usertouches an area of the touch-sensitive screen associated with the icon,where a touch-sensitive screen application reads the coordinates of thetouch, correlates the coordinates with the location of the icon, andtransmits a signal indicating that the control has been selected. Othertypes of control selections are also contemplated.

According to the FIG. 32 implementation, device E500 includes a keypad,or grouping of controls, which enables the user to enter text in orderto interact with the GUI presented on display E505. Each controlcorresponds to multiple output signals, each output signal associatedwith a characters. In one aspect, the keypad includes eight controls,labeled “2” to “9”, that each correspond to multiple letters and anumber. For example, the control labeled “2” corresponds to the letters“A,”“B,” and “C,” and the number “2.” In addition, other controlsincluded in the keypad perform other text entry functions. For example,the control labeled “*” is used to change the case of a next characterthat is output. The control labeled “0” is used to advance to asubsequent character after a current character has been specified, andthe control labeled “#” is used to insert a “space” character.

One of the first plurality of output signals is output based at leastupon the selection and the angular displacement (step ES309), or atleast upon the selection, the angular displacement, and the plurality oftilt regions. Since the first control is associated with a firstplurality of output signals, the angular displacement, or the angulardisplacement and the plurality of tilt regions are used to determinewhich one of the first plurality of output signals are output. In oneaspect, the neutral position of the device is determined in relation toone axis, where three tilt regions are defined around that one axis, andwhere the first control is associated with three tilt regions. In thiscase, if the angular displacement is in the first tilt region, the firstoutput signal is output, if the angular displacement is in the secondtilt region, the second output signal is output, and if the angulardisplacement is in the third tilt region, the third output signal isoutput. hi an alternative aspect, the output signal is output based uponthe angular displacement and the number of output signals associatedwith the first control, based upon a formula or an algorithm.

Various figures depict front and side views of the FIG. 32 device indifferent states of manipulation. In particular, FIGS. 34A and 34Billustrate front and side views, respectively, of device E500 in theneutral position. FIG. 35A illustrates a front view of the devicemanipulated in a negative roll about the X-axis and FIG. 35B illustratesa front view of the device manipulated in a positive roll about theX-axis. Similarly, FIG. 36A illustrates a side view of the devicemanipulated in a positive pitch about the Y-axis and FIG. 36Billustrates a side view of the device manipulated in a negative pitchabout the Y-axis. In FIGS. 35 and 36, the device has been tiltedapproximately .+−.30.degree. about the respective axes from the neutralposition, shown in FIG. 34.

The orientation of the device, as indicated by the angular displacementmeasured by the tilt sensor, when a control of the keypad is selectedaffects the output signal output by the device, affecting, for example,the character generated by the control selection. Each of the multiplecharacters or output signals represented by a single control of a keypadcorrespond to a different orientation of the device. When one of thecontrols of the keypad is selected, the device identifies the pluralityof characters that correspond to the selected control and theorientation of the device indicated by the tilt sensor. One of themultiple characters and a case for the character are identified based onthe identified orientation, and the identified character is output.

The degree to which the device has been rolled to the left or right whena control is selected affects which one of the multiple charactersrepresented by the control is output. In one implementation, thecontrols that represent multiple characters represent three letters, andthe letters represented by the control are listed from left to right onthe control. The device is configured to indicate that the device isrolled left, rolled right, or not rolled left or right. In one suchimplementation, rolling the device to the left when the control isselected indicates that the leftmost listed character should be output.Similarly, rolling the device to the right when the control is selectedindicates that the rightmost listed character should be output. Finally,keeping the device oriented in the neutral position when the control isselected indicates that the center character should be output.

In another implementation, rolling the device to the left when thecontrol is selected indicates that the rightmost listed character shouldbe output, rolling the device to the right when the control is selectedindicates that the leftmost listed character should be output, andkeeping the device oriented in the neutral position when the control isselected indicates that the center character should be output. Such animplementation may be used, for example, because rolling the device tothe left causes the rightmost listed character to appear above and moreprominently than the other listed characters, and rolling the device tothe right causes the leftmost listed character to appear above and moreprominently than the other listed characters.

In other implementations, the controls of the keypad represent more thanthree characters, such as three letters and a number, or four lettersand a number. For example, the control on a conventional telephonelabeled “7” corresponds to the letters “P,”“Q,”“R,” and “S,” and thenumber “7.” In such a case, the tilt sensor is configured to identifymore than three discrete left-to-right roll positions such that one ofthe more than three characters represented by a selected control may beidentified based only on the roll orientation of the device. Each of thediscrete roll positions correspond to one of the characters representedby the selected control . For example, if the selected control is thekey labeled “7”, the device being rolled as illustrated in region E404of FIG. 31B would indicate that the letter “P” should be output, thedevice being rolled as illustrated in region E405 of FIG. 31B wouldindicate that the letter “Q” should be output, the device being rolledas illustrated in region E406 of FIG. 31B would indicate that the letter“R” should be output, the device being rolled as illustrated in regionE407 of FIG. 31B would indicate that the letter “S” should be output,and the device being oriented in the neutral position, as illustrated inFIG. 28, would indicate that the number “7” should be output.

While the roll orientation of the device is used to identify a characterto be output, the pitch orientation of the device is used to identify acase for the character. In one implementation, the device being pitched(or tilted) forward when a control is selected causes a character thatis identified by the roll (left-to-right tilt) orientation of the deviceto be output in upper case. Similarly, the device not being pitchedforward or backward (in a neutral pitch position) when a control isselected causes a character that is identified by the roll(left-to-right tilt) orientation of the device to be output in lowercase.

In some implementations, the device being pitched (or tilted) backwardmay cause a symbol to be output. The symbol may be a symbolcorresponding to the number represented by the selected control on aconventional computer keyboard. For example, if the control thatrepresents the number “1” is selected while the device is pitchedbackward, the symbol “!” may be output, because the symbol “!”corresponds to the number “1” on a conventional computer keyboard (e.g.,pressing “Shift” and “1” on a computer keyboard outputs the character“!”).

The tilt sensor is capable of detect more tilt positions in the pitchdirection than is necessary to indicate the case of the character to beoutput. As such, the pitch positions that are not used to indicate thecase of the character may be used to select the character. For example,a control may represent three letters and a number, and three rollpositions may be used to select among the three letters. Two pitchpositions may select the case for letters, and a third pitch tiltposition may select the number represented by the key.

Furthermore, the tilt sensor independently indicates whether the devicehas been rolled left, neutral, or right or whether the device haspitched forward, neutral, or backwards, thereby allowing the tilt sensorto indicate whether the device is in one of nine orientations. Each ofthe nine orientations may correspond to a character and a case for thecharacter.

FIG. 37 is a table showing one possible mapping of device orientationsto output signals corresponding to characters and cases that may beoutput when the control labeled “2” on the keypad is selected. In theillustrated mapping, the device being rolled left and pitched forwardcauses the capital letter “A” to be output, the device not being rolledor pitched in either direction case the lower case letter “b” to beoutput, and the device being pitched backwards causes the number “2” tobe output. In other implementations in which the tilt sensor mayidentify more than three roll positions or more than three pitchpositions, more orientations that may be mapped to characters and casesare available.

Output signals corresponding to characters are described as beingselected based on a first axis angular displacement or tilt position ofthe device, and output signals corresponding to upper or lower cases forthe characters are described throughout as being selected based on asecond axis angular displacement or position of the device. In otherimplementations, the angular displacement in different axes mayeffectuate the output of signals corresponding to characters or upperand lower cases of characters. In general, any orientation of the devicemay be mapped to any character and case for the character, regardless ofwhich of the axes was used to select the character or the case.

In addition to outputting a signal corresponding to a character that isoutput in response to selection of a control, the orientation of thedevice may be used to indicate a menu option that is to be selected. Forexample, selection of a control that does not correspond to anycharacters, such as the “1” key on a telephone, causes a menu to bepresented on the display of the telephone, where each option of the menucorrespond to a different orientation of the telephone. The orientationof the device when a control indicating that a selection from the menushould be made (e.g., an “OK” key, an “Enter” key, or the “1” key) isselected may indicate which of the menu options is selected. In oneaspect, a menu of symbols similar to what is illustrated in FIGS. 38Aand 38B is displayed when the “1” key is selected. Tilting the deviceand selecting the “1” key again may cause a corresponding symbol to beoutput. After a symbol has been output, letters and numbers may beoutput, as described above, until the “1” key is selected again todisplay the symbol menu. Fully inverting the device, shaking the device,or otherwise moving the device in a manner that is not interpreted as atilt of the device generates another menu.

A first output signal is output if the angular displacement is withinthe first tilt region when the selection is received, where a secondoutput signal is output if the angular displacement is within the secondtilt region when the selection is received. Furthermore, a third orfourth output signal is output if the angular displacement is within thethird or fourth tilt region, respectively, when the selection isreceived.

If a plurality of first-axis tilt regions are defined about the firstaxis and a plurality of second-axis tilt regions are defined about thesecond axis, the one of the first plurality of output signals may bealso output based upon the plurality of first-axis tilt regions and/orthe plurality of second-axis tilt regions. When the selection isreceived, a first output signal may be output if the first-axiscomponent is within a first first-axis tilt region and if thesecond-axis component is within a first second-axis tilt region, asecond output signal may be output if the first-axis component is withina second first-axis tilt region and if the second-axis component iswithin the first second-axis tilt region, a third output signal may beoutput if the first-axis component is within the second first-axis tiltregion and if the second-axis component is within a second second-axistilt region, and/or a fourth output signal may be output if thefirst-axis component is within the second first-axis tilt region and ifthe second-axis component is within the second second-axis tilt region.

Alternatively, in another aspect, when the selection is received, afirst output signal may be output if the first component is within afirst first-axis tilt region and if the second-axis component is withina first second-axis tilt region, a second output signal may be output ifthe first component is within the first first-axis tilt region and ifthe second-axis component is within a second second-axis tilt region, athird output signal may be output if the first component is within thefirst first-axis tilt region and if the second-axis component is withina third second-axis tilt region, a fourth output signal may be output ifthe first component is within a second first-axis tilt region and if thesecond-axis component is within the first second-axis tilt region, afifth output signal may be output if the first component is within thesecond first-axis tilt region and if the second-axis component is withinthe second second-axis tilt region, a sixth output signal may be outputif the first component is within the second first-axis tilt region andif the second-axis component is within the third second-axis tiltregion, a seventh output signal may be output if the first component iswithin a third first-axis tilt region and if the second-axis componentis within the first second-axis tilt region, an eighth output signal maybe output if the first component is within the third first-axis tiltregion and if the second-axis component is within the second second-axistilt region, and/or a ninth output signal may be output if the firstcomponent is within the third first-axis tilt region and if thesecond-axis component is within the third second-axis tilt region.

The output signal is displayed (step ES310), and method E300 ends (stepES311). The output signal is displayed on a display, such as displayE105. In an alternate aspect, the output signal is not displayed.

In the FIG. 32 implementation, device E500 also includes display E505,which is used to present a graphical user interface (“GUI”) to a user ofdevice E500. The GUI enables a user of device E500 to perform functionsthat require the user to enter text into device E500. For example, theuser may identify an entry for a person within a phonebook stored ondevice E500 by entering a name of the person. As another example, theuser may add an entry for a person to the phonebook by enteringinformation describing the person, such as the person's name and one ormore phone numbers used by the person. Furthermore, the GUI enables theuser to specify a text message that is to be sent from device E500 or tospecify another textual note that is to be stored on device E500. DeviceE500 also displays a GUI that enables a user to specify a text message.

Interpreting control selections based on device orientations when thecontrol selections are made increases the number of operations that maybe performed with a single control selection. For example, each controlselection may be interpreted in a number of manners that is equal to thenumber of distinct orientations of the device that may be detected.Furthermore, the orientation of the device may indicate how selection ofcontrol that do not correspond to any characters may be interpreted.Therefore, a user may be enabled to quickly perform relatively complexoperations simply by tilting the device and selecting controls. Forexample, selecting the “*” key while the device is rolled to the leftmay cause a particular mode of text entry (e.g., numbers only, allcapital letters) to be used for text entry until the next time the “*”key is selected when the device is rolled to the left. In anotheraspect, the tilt sensor effectuates tilt scrolling, such that, uponreceipt of the selection of a control, a user interface is scrolledcorresponding to the direction of the tilt. A forward pitch occurring atthe time of control selection, for example, would result in the userinterface, or a menu item on the user interface, scrolling upward.

According to another general aspect, a computer program product,tangibly stored on a computer-readable medium, is recited. The computerprogram product is operable to cause a computer to perform operationsincluding determining a neutral position of a device in relation to atleast a first axis, the device including at least a first controlassociated with a first plurality of output signals, and measuring anangular displacement of the device about at least the first axis. Thecomputer program product is also operable to cause a computer to performoperations including receiving a selection of the first control, andoutputting one of the first plurality of output signals based at leastupon the selection and the angular displacement.

Finally, although a number of implementations have been described orexemplified as a telephone device, it is contemplated that the conceptsrelated herein are by no means limited to telephony, and are in factapplicable to a broad variety of devices, including any device in whichthe number of controls is minimized due to device design and layoutrestrictions. Sample devices include computer keyboards, remotecontrols, watches, joysticks or game controllers, or other computerinput or consumer electronic devices.

Accordingly, a number of implementations have been described.Nevertheless, it will be understood that various modifications may bemade. For example, elements of different implementations may becombined, supplemented, or removed to produce other implementations.Further, various technologies may be used, combined, and modified toproduce an implemention, such technologies including, for example, avariety of digital electronic circuitry, hardware, software, firmware,integrated components, discrete components, processing devices, memorystorage devices, communication devices, lenses, filters, displaydevices, and projection devices.

Game System

With reference to FIG. 39, a game system 39 according to someembodiments will be described. FIG. 39 is an external view illustratingthe game system 39. In the following description, the game system 39according to some embodiments includes a stationary game apparatus.

As shown in FIG. 39, the game system F1 includes a stationary gameapparatus (hereinafter, referred to simply as a “game apparatus”) F3,which is connected to a display (hereinafter, referred to as a“monitor”) F2 of a home-use television receiver or the like having aspeaker F2 a via a connection cord, and a controller F7 for givingoperation information to the game apparatus F3. The game apparatus F3 isconnected to a receiving unit F6 via a connection terminal. Thereceiving unit F6 receives transmission data which is wirelesslytransmitted from the controller F7. The controller F7 and the gameapparatus F3 are connected to each other by wireless communication. Onthe game apparatus F3, an optical disc F4 as an example of anexchangeable information storage medium is detachably mounted. The gameapparatus F3 includes a power ON/OFF switch, a game process resetswitch, and an OPEN switch for opening a top lid of the game apparatusF3 on a top main surface of the game apparatus F3. When a player pressesthe OPEN switch, the lid is opened, so that the optical disc F4 can bemounted or dismounted.

Further, on the game apparatus F3, an external memory card F5 isdetachably mounted when necessary. The external memory card F5 has abackup memory or the like mounted thereon for fixedly storing saved dataor the like. The game apparatus F3 executes a game program or the likestored on the optical disc F4 and displays the result on the monitor F2as a game image. The game apparatus F3 can also reproduce a state of agame played in the past using saved data stored in the external memorycard F5 and display the game image on the monitor F2. A player playingwith the game apparatus F3 can enjoy the game by operating thecontroller F7 while watching the game image displayed on the monitor F2.

The controller F7 wirelessly transmits the transmission data from acommunication section F75 included therein (described later) to the gameapparatus F3 connected to the receiving unit F6, using the technologyof, for example, Bluetooth (registered trademark). The controller F7 hastwo control units, a core unit F70 and a subunit F76, connected to eachother by a flexible connecting cable F79. The controller F7 is anoperation means for mainly operating a player object appearing in a gamespace displayed on the monitor F2. The core unit F70 and the subunit F76each includes an operation section such as a plurality of operationbuttons, a key, a stick and the like. As described later in detail, thecore unit F70 includes an imaging information calculation section F74for taking an image viewed from the core unit F70. As an example of animaging target of the imaging information calculation section F74, twoLED modules F8L and F8R are provided in the vicinity of a display screenof the monitor F2. The LED modules F8L and F8R each outputs infraredlight forward from the monitor F2. Although in the present embodimentthe core unit F70 and the subunit F76 are connected to each other by theflexible cable, the subunit F76 may have a wireless unit, therebyeliminating the connecting cable F79. For example, the subunit F76 has aBluetooth (registered trademark) unit as the wireless unit, whereby thesubunit F76 can transmit operation data to the core unit F70.

Next, with reference to FIG. 40, a structure of the game apparatus F3will be described. FIG. 40 is a functional block diagram of the gameapparatus F3.

As shown in FIG. 40, the game apparatus F3 includes, for example, a RISCCPU (central processing unit) F30 for executing various types ofprograms. The CPU F30 executes a boot program stored in a boot ROM (notshown) to, for example, initialize memories including a main memory F33,and then executes a game program stored on the optical disc F4 toperform game process or the like in accordance with the game program.The CPU F30 is connected to a GPU (Graphics Processing Unit) F32, themain memory F33, a DSP (Digital Signal Processor) F34, and an ARAM(audio RAM) F35 via a memory controller F31. The memory controller F31is connected to a controller I/F (interface) F36, a video I/F F37, anexternal memory I/F F38, an audio I/F F39, and a disc I/F F41 via apredetermined bus. The controller I/F F36, the video I/F F37, theexternal memory I/F F38, the audio I/F F39 and the disc I/F F41 arerespectively connected to the receiving unit F6, the monitor F2, theexternal memory card F5, the speaker F2 a, and a disc drive F40.

The GPU F32 performs image processing based on an instruction from theCPU F30. The GPU F32 includes, for example, a semiconductor chip forperforming calculation process necessary for displaying 3D graphics. TheGPU F32 performs the image process using a memory dedicated for imageprocess (not shown) and a part of the storage area of the main memoryF33. The GPU F32 generates game image data and a movie to be displayedon the monitor F2 using such memories, and outputs the generated data ormovie to the monitor F2 via the memory controller F31 and the video I/FF37 as necessary.

The main memory F33 is a storage area used by the CPU F30, and stores agame program or the like necessary for processing performed by the CPUF30 as necessary. For example, the main memory F33 stores a game programread from the optical disc F4 by the CPU F30, various types of data orthe like. The game program, the various types of data or the like storedin the main memory F33 are executed by the CPU F30.

The DSP F34 processes sound data or the like generated by the CPU F30during the execution of the game program. The DSP F34 is connected tothe ARAM F35 for storing the sound data or the like. The ARAM F35 isused when the DSP F34 performs a predetermined process (for example,storage of the game program or sound data already read). The DSP F34reads the sound data stored in the ARAM F35, and outputs the sound datato the speaker F2 a included in the monitor F2 via the memory controllerF31 and the audio I/F F39.

The memory controller F31 comprehensively controls data transmission,and is connected to the various I/Fs described above. The controller I/FF36 includes, for example, four controller I/Fs F36 a, F36 b, F36 c andF36 d, and communicably connects the game apparatus F3 to an externaldevice which is engageable via connectors of the controller I/Fs F36 a,F36 b, F36 c and F36 d. For example, the receiving unit F6 is engagedwith such a connector and is connected to the game apparatus F3 via thecontroller I/F F36. As described above, the receiving unit F6 receivesthe transmission data from the controller F7 and outputs thetransmission data to the CPU F30 via the controller I/F F36. The videoI/F F37 is connected to the monitor F2. The external memory I/F F38 isconnected to the external memory card F5 and is accessible to a backupmemory or the like provided in the external memory card F5. The audioI/F F39 is connected to the speaker F2 a built in the monitor F2 suchthat the sound data read by the DSP F34 from the ARAM F35 or sound datadirectly outputted from the disc drive F40 can be outputted from thespeaker F2 a. The disc I/F F41 is connected to the disc drive F40. Thedisc drive F40 reads data stored at a predetermined reading position ofthe optical disc F4 and outputs the data to a bus of the game apparatusF3 or the audio I/F F39.

Next, with reference to FIGS. 41 and 42, the controller F7 will bedescribed. FIG. 41 is a perspective view illustrating an outerappearance of the controller F7. FIG. 42 is a perspective viewillustrating a state of the connecting cable F79 of the controller F7shown in FIG. 41 being connected to or disconnected from the core unitF70.

As shown in FIG. 41, the controller F7 includes the core unit F70 andthe subunit F76 connected to each other by the connecting cable F79. Thecore unit F70 has a housing F71 including a plurality of operationsections F72. The subunit F76 has a housing F77 including a plurality ofoperation sections F78. The core unit F70 and the subunit F76 areconnected to each other by the connecting cable F79.

As shown in FIG. 42, the connecting cable F79 has a connector F791detachably connected to the connector F73 of the core unit F70 at oneend thereof, and the connecting cable F79 is fixedly connected to thesubunit F76 at the other end thereof. The connector F791 of theconnecting cable F79 is engaged with the connector F73 provided at therear surface of the core unit F70 so as to connect the core unit F70 andthe subunit F76 to each other by the connecting cable F79.

With reference to FIGS. 43 and 44, the core unit F70 will be described.FIG. 43 is a perspective view of the core unit F70 as seen from the toprear side thereof. FIG. 44 is a perspective view of the core unit F70 asseen from the bottom front side thereof.

As shown in FIGS. 43 and 44, the core unit F70 includes the housing F71formed by plastic molding or the like. The housing F71 has a generallyparallelepiped shape extending in a longitudinal direction from front torear. The overall size of the housing F71 is small enough to be held byone hand of an adult or even a child.

At the center of a front part of a top surface of the housing F71, across key F72 a is provided. The cross key F72 a is a cross-shapedfour-direction push switch. The cross key F72 a includes operationportions corresponding to the four directions (front, rear, right andleft) represented by arrows, which are respectively located oncross-shaped projecting portions arranged at intervals of 90 degrees.The player selects one of the front, rear, right and left directions bypressing one of the operation portions of the cross key F72 a. Throughan operation on the cross key F72 a, the player can, for example,instruct a direction in which a player character or the like appearingin a virtual game world is to move or a direction in which the cursor isto move.

Although the cross key F72 a is an operation section for outputting anoperation signal in accordance with the aforementioned direction inputoperation performed by the player, such an operation section may beprovided in another form. For example, the cross key F72 a may bereplaced with a composite switch including a push switch including aring-shaped four-direction operation section and a center switchprovided at the center thereof. Alternatively, the cross key F72 a maybe replaced with an operation section which includes an inclinable stickprojecting from the top surface of the housing F71 and outputs anoperation signal in accordance with the inclining direction of thestick. Still alternatively, the cross key F72 a may be replaced with anoperation section which includes a disc-shaped member horizontallyslidable and outputs an operation signal in accordance with the slidingdirection of the disc-shaped member. Still alternatively, the cross keyF72 a may be replaced with a touch pad. Still alternatively, the crosskey F72 a may be replaced with an operation section which includesswitches representing at least four directions (front, rear, right andleft) and outputs an operation signal in accordance with the switchpressed by the player.

Behind the cross key F72 a on the top surface of the housing F71, aplurality of operation buttons F72 b, F72 c, F72 d, F72 e, F72 f and F72g are provided. The operation buttons F72 b, F72 c, F72 d, F72 e, F72 fand F72 g are each an operation section for outputting a respectiveoperation signal assigned to the operation buttons F72 b, F72 c, F72 d,F72 e, F72 f or F72 g when the player presses a head thereof. Forexample, the operation buttons F72 b, F72 c, and F72 d are assigned withfunctions of a first button, a second button, and an A button. Further,the operation buttons F72 e, F72 f and F72 g are assigned with functionsof a minus button, a home button and a plus button, for example. Theoperation buttons F72 b, F72 c, F72 d, F72 e, F72 f and F72 g areassigned with respective functions in accordance with the game programexecuted by the game apparatus F3. In an exemplary arrangement shown inFIG. 43, the operation buttons F72 b, F72 c and F72 d are arranged in aline at the center in the front-rear direction on the top surface of thehousing F71. The operation buttons F72 e, F72 f and F72 g are arrangedin a line in the left-right direction between the operation buttons F72b and F72 d on the top surface of the housing F71. The operation buttonF72 f has a top surface thereof buried in the top surface of the housingF71, so as not to be inadvertently pressed by the player.

In front of the cross key F72 a on the top surface of the housing F71,an operation button F72 h is provided. The operation button F72 h is apower switch for remote-controlling the power of the game apparatus 3 tobe on or off. The operation button F72 h also has a top surface thereofburied in the top surface of the housing F71, so as not to beinadvertently pressed by the player.

Behind the operation button F72 c on the top surface of the housing F71,a plurality of LEDs F702 are provided. The controller F7 is assigned acontroller type (number) so as to be distinguishable from the othercontrollers F7. For example, the LEDs F702 are used for informing theplayer of the controller type which is currently set to controller F7that he or she is using. Specifically, when the core unit F70 transmitsthe transmission data to the receiving unit F6, one of the plurality ofLEDs F702 corresponding to the controller type is lit up.

On the top surface of the housing F71, a sound hole for externallyoutputting a sound from a speaker F706 shown in FIG. 45, which will bedescribed below, is provided between the operation buttons F72 e, F72 f,and F72 g and the operation button F72 b.

On a bottom surface of the housing F71, a recessed portion is formed. Asdescribed later in detail, the recessed portion is formed at a positionat which an index finger or middle finger of the player is located whenthe player holds the core unit F70. On a rear slope surface of therecessed portion, an operation button F72 i is provided. The operationbutton F72 i is an operation section acting as, for example, a B button.The operation button F72 i is used, for example, as a trigger switch ina shooting game, or for attracting attention of a player object to apredetermined object.

On a front surface of the housing F71, an image pickup element F743included in the imaging information calculation section F74 is provided.The imaging information calculation section F74 is a system foranalyzing image data taken by the core unit F70 and detecting for thecentroid, the size and the like of an area having a high brightness inthe image data. The imaging information calculation section F74 has, forexample, a maximum sampling period of about 200 frames/sec., andtherefore can trace and analyze even a relatively fast motion of thecore unit F70. The imaging information calculation section F74 will bedescribed later in detail. On a rear surface of the housing F71, theconnector F73 is provided. The connector F73 is, for example, a 32-pinedge connector, and is used for engaging and connecting the core unitF70 with the connector F791 of the connecting cable F79.

With reference to FIGS. 45 and 46, an internal structure of the coreunit F70 will be described. FIG. 45 is a perspective view illustrating,as seen from the rear side of the core unit F70, a state where an uppercasing (a part of the housing F71) of the core unit F70 is removed. FIG.46 is a perspective view illustrating, as seen from the front side ofthe core unit F70, a state where a lower casing (a part of the housingF71) of the core unit F70 is removed. FIG. 46 is a perspective viewillustrating a reverse side of a substrate F700 shown in FIG. 45.

As shown in FIG. 45, the substrate F700 is fixed inside the housing F71.On a top main surface of the substrate F700, the operation buttons F72a, F72 b, F72 c, F72 d, F72 e, F72 f, F72 g and F72 h, an accelerationsensor F701, the LEDs F702, an antenna F754 and the like are provided.These elements are connected to a micro computer F751 (see FIGS. 46 and55) and the like via lines (not shown) formed on the substrate F700 andthe like. The wireless module F753 not shown (see FIG. 55) and theantenna F754 allow the core unit F70 to act as a wireless controller.The quartz oscillator F703 not shown, which is provided in the housingF71, generates a reference clock of the micro computer F751 describedlater. On the top main surface of the substrate F700, the speaker F706and an amplifier F708 are provided. The acceleration sensor F701 isprovided near the edge of the substrate F700 offset from the centerthereof. Therefore, a change of a direction of the gravitationalacceleration and an acceleration containing a centrifugal forcecomponent can be detected based on a rotation of the core unit F70 aboutthe longitudinal direction thereof, so that a predetermined calculationis used to determine the rotation of the core unit F70 with favorableaccuracy based on the acceleration data having been detected.

As shown in FIG. 46, at a front edge of a bottom main surface of thesubstrate F700, the imaging information calculation section F74 isprovided. The imaging information calculation section F74 includes aninfrared filter F741, a lens F742, the image pickup element F743 and animage processing circuit F744 located in this order from the frontsurface of the core unit F70 on the bottom main surface of the substrateF700. At a rear edge of the bottom main surface of the substrate F700,the connector F73 is attached. Further, a sound IC F707 and the microcomputer F751 are provided on the bottom main surface of the substrateF700. The sound IC F707, which is connected to the micro computer F751and the amplifier F708 via lines formed on the substrate F700 and thelike, outputs a sound signal to the speaker F706 via the amplifier F708based on the sound data transmitted from the game apparatus F3. On thebottom main surface of the substrate F700, a vibrator F704 is provided.The vibrator F704 is, for example, a vibration motor or a solenoid. Thecore unit F70 is vibrated by an actuation of the vibrator F704, and thevibration is conveyed to the player's hand holding the core unit F70.Thus, a so-called vibration-feedback game is realized. The vibrator F704is disposed slightly toward the front of the housing F71, therebyallowing the housing F71 held by the player to strongly vibrate, thatis, allowing the player to easily feel the vibration.

With reference to FIGS. 47 to 50, the subunit F76 will be described.FIG. 47 is a perspective view illustrating a first example of thesubunit F76. FIG. 48 is a perspective view illustrating a state where anupper casing (a part of the housing F77) of the subunit F76 shown inFIG. 47 is removed. FIG. 49A is a top view illustrating a second exampleof the subunit F76. FIG. 49B is a bottom view illustrating the secondexample of the subunit F76. FIG. 49C is a left side view illustratingthe second example of the subunit F76. FIG. 50 is a perspective viewillustrating the second example of the subunit F76 as seen from the topfront side thereof.

As shown in FIG. 47, the subunit F76 includes the housing F77 formed by,for example, plastic molding. The housing F77 extends in a longitudinaldirection from front to rear, and has a streamline solid shape includinga head which is a widest portion in the subunit F76. The overall size ofthe subunit F76 is small enough to be held by one hand of an adult oreven a child.

In the vicinity of the widest portion on the top surface of the housingF77, a stick F78 a is provided. The stick F78 a is an operation sectionwhich includes an inclinable stick projecting from the top surface ofthe housing F77 and outputs an operation signal in accordance with theinclining direction of the stick. For example, a player can arbitrarilydesignate a direction and a position by inclining a tip of the stick inany direction of 360 degrees, whereby the player can instruct adirection in which a player character or the like appearing in a virtualgame world is to move, or can instruct a direction in which a cursor isto move.

In front of the housing F77 of the subunit F76, a plurality of operationbuttons F78 d and F78 e are provided. The operation buttons F78 d andF78 e are each an operation section for outputting a respectiveoperation signal assigned to the operation buttons F78 d and F78 e whenthe player presses a head thereof. For example, the operation buttonsF78 d and F78 e are assigned with functions of an X button and a Ybutton, for example. The operation buttons F78 d and F78 e are assignedwith respective functions in accordance with the game program executedby the game apparatus F3. In an exemplary arrangement shown in FIG. 47,the operation buttons F78 d and F78 e are aligned from the top to bottomon the front surface of the housing F77.

In FIG. 48, a substrate is fixed in the housing F77. The stick F78 a, anacceleration sensor F761 and the like are provided on the top mainsurface of the substrate. The stick F78 a, the acceleration sensor F761and the like are connected to the connecting cable F79 via lines (notshown) formed on the substrate and the like.

As shown in FIGS. 49A, 49B, 49C and 50, the subunit F76 of the secondexample includes the housing F77, the stick F78 a, the operation buttonsF78 d and F78 e as in the case of the subunit F76 of the first example,and the subunit F76 of the second example has the operation buttons F78b and F78 c on the top surface of the housing F77.

Behind the stick F78 a on the top surface of the housing F77, thesubunit F76 of the second example has a plurality of operation buttonsF78 b and F78 c. The operation buttons F78 b and F78 c are each anoperation section for outputting a respective operation signal assignedto the operation buttons F78 b and F78 c when the player presses a headthereof. The operation buttons F78 b and F78 c are assigned withrespective functions in accordance with the game program executed by thegame apparatus F3. In an exemplary arrangement shown in FIGS. 49A, 49B,and 49C and 50, the operation buttons F78 b and F78 c are arranged in aline at the center of the top surface of the housing F77 in theleft-right direction.

Although the stick F78 a is an operation section for outputting anoperation signal in accordance with a direction input operationperformed by the player as described above, such an operation sectionmay be provided in another form. Hereinafter, with reference to FIGS. 51to 54, a first through a fifth exemplary modifications, each of whichincludes the subunit F76 of the second example having an operationsection for outputting an operation signal in accordance with thedirection input operation, will be described.

As the first exemplary modification, as shown in FIG. 51, the subunitF76 may include a cross key F78 f similar to the cross key F72 a of thecore unit F70 instead of the stick F78 a. As the second exemplarymodification, as shown in FIG. 52, the subunit F76 may include a slidepad F78 g which includes a disc-shaped member horizontally slidable andoutputs an operation signal in accordance with the sliding direction ofthe disc-shaped member, instead of the stick F78 a. As the thirdexemplary modification, as shown in FIG. 53, the subunit F76 may includea touch pad F78 h instead of the stick F78 a. As the fourth exemplarymodification, as shown in FIG. 54, the subunit F76 may include anoperation section which has buttons F78 i, F78 j, F78 k, and F78 lrepresenting at least four directions (front, rear, right and left),respectively, and outputs an operation signal in accordance with thebutton (F78 i, F78 j, F78 k, or F78 l) pressed by a player, instead ofthe stick F78 a. As the fifth exemplary modification, the subunit F76may include a composite switch including a push switch having aring-shaped four-direction operation section and a center switchprovided at the center thereof, instead of the stick F78 a.

Next, with reference to FIG. 55, an internal structure of the controllerF7 will be described. FIG. 55 is a block diagram illustrating thestructure of the controller F7.

As shown in FIG. 55, the core unit F70 includes the communicationsection F75 in addition to the operation section F72, the imaginginformation calculation section F74, the acceleration sensor F701, thespeaker F706, the sound IC F707, and the amplifier F708 as describedabove. Further, the subunit F76, which has the operation section F78 andthe acceleration sensor F761 as described above, is connected to themicro computer F751 via the connecting cable F79 and the connectors F791and F73.

The imaging information calculation section F74 includes the infraredfilter F741, the lens F742, the image pickup element F743 and the imageprocessing circuit F744. The infrared filter F741 allows only infraredlight to pass therethrough, among light incident on the front surface ofthe core unit F70. The lens F742 collects the infrared light which haspassed through the infrared filter F741 and outputs the infrared lightto the image pickup element F743. The image pickup element F743 is asolid-state imaging device such as, for example, a CMOS sensor or a CCD.The image pickup element F743 takes an image of the infrared lightcollected by the lens F742. Accordingly, the image pickup element F743takes an image of only the infrared light which has passed through theinfrared filter F741 and generates image data. The image data generatedby the image pickup element F743 is processed by the image processingcircuit F744. Specifically, the image processing circuit F744 processesthe image data obtained from the image pickup element F743, identifies aspot thereof having a high brightness, and outputs process result datarepresenting the identified position coordinates and size of the area tothe communication section F75. The imaging information calculationsection F74 is fixed to the housing F71 of the core unit F70. Theimaging direction of the imaging information calculation section F74 canbe changed by changing the direction of the housing F71. The housing F71is connected to the subunit F76 by the flexible connecting cable F79,and therefore the imaging direction of the imaging informationcalculation section F74 is not changed by changing the direction andposition of the subunit F76. As described later in detail, a signal canbe obtained in accordance with the position and the motion of the coreunit F70 based on the process result data outputted by the imaginginformation calculation section F74.

The core unit F70 preferably includes a three-axis acceleration sensorF701. Further, the subunit F76 preferably includes a three-axisacceleration sensor F761. The three axis acceleration sensors F701 andF761 each detects for a linear acceleration in three directions, i.e.,the up/down direction, the left/right direction, and theforward/backward direction. Alternatively, a two axis accelerationdetection means which detects for only a linear acceleration along eachof the up/down and left/right directions (or other pair of directions)may be used in another embodiment depending on the type of controlsignals used in the game process. For example, the three axisacceleration sensors F701 and F761 or the two axis acceleration sensorsF701 and F761 may be of the type available from Analog Devices, Inc. orSTMicroelectronics N.V. Preferably, each of the acceleration sensorsF701 and F761 is of an electrostatic capacitance (capacitance-coupling)type that is based on silicon micro-machined MEMS (Micro ElectroMechanical Systems) technology. However, any other suitable accelerationdetection technology (e.g., piezoelectric type or piezoresistance type)now existing or later developed may be used to provide the three axisacceleration sensors F701 and F761 or two axis acceleration sensors F701and F761.

As one skilled in the art understands, the acceleration detection means,as used in the acceleration sensors F701 and F761, are capable ofdetecting for only acceleration (linear acceleration) along a straightline corresponding to each axis of the acceleration sensor. In otherwords, each of the direct outputs of the acceleration sensors F701 andF761 is limited to signals indicative of linear acceleration (static ordynamic) along each of the two or three axes thereof. As a result, theacceleration sensors F701 and F761 cannot directly detect movement alonga non-linear (e.g. arcuate) path, rotation, rotational movement, angulardisplacement, tilt, position, attitude or any other physicalcharacteristic.

However, through additional processing of the acceleration signalsoutput from each of the acceleration sensors F701 and F761, additionalinformation relating to the core unit F70 and the subunit F76 can beinferred or calculated, as one skilled in the art will readilyunderstand from the description herein. For example, by detecting staticacceleration (i.e., gravity), the outputs of the acceleration sensorsF701 and F761 can be used to infer tilt of the object (core unit F70 orsubunit F76) relative to the gravity vector by correlating tilt angleswith detected acceleration. In this way, the acceleration sensors F701and F761 can be used in combination with the micro computer F751 (oranother processor) to determine tilts, attitudes or positions of thecore unit F70 and the subunit F76. Similarly, various movements and/orpositions of the core unit F70 and the subunit F76 can be calculated orinferred through processing of the acceleration signals generated by theacceleration sensors F701 and F761 when the core unit F70 containing theacceleration sensor F701 or the subunit F76 containing the accelerationsensor F761 is subjected to dynamic accelerations by, for example, thehand of a user, as described herein. In another embodiment, each of theacceleration sensors F701 and F761 may include an embedded signalprocessor or other type of dedicated processor for performing anydesired processing of the acceleration signals outputted from theacceleration detection means prior to outputting signals to microcomputer F751. For example, the embedded or dedicated processor couldconvert the detected acceleration signal to a corresponding tilt anglewhen the acceleration sensor is intended to detect static acceleration(i.e., gravity). Data representing the acceleration detected by each ofthe acceleration sensors F701 and F761 is outputted to the communicationsection F75.

In another exemplary embodiment, at least one of the accelerationsensors F701 and F761 may be replaced with a gyro-sensor of any suitabletechnology incorporating, for example, a rotating or vibrating element.Exemplary MEMS gyro-sensors that may be used in this embodiment areavailable from Analog Devices, Inc. Unlike the acceleration sensors F701and F761, a gyro-sensor is capable of directly detecting rotation (orangular rate) around at least one axis defined by the gyroscopic elementtherein. Thus, due to the fundamental differences between a gyro-sensorand an acceleration sensor, corresponding changes need to be made to theprocessing operations that are performed on the output signals fromthese devices depending on which device is selected for a particularapplication.

More specifically, when the tilt or attitude is calculated using agyro-sensor instead of the acceleration sensor, significant changes arenecessary. Specifically, when using a gyro-sensor, the value of the tiltis initialized at the start of the detection. Then, data on the angularrate which is output from the gyro-sensor is integrated. Next, a changeamount in tilt from the value of the tilt initialized is calculated. Inthis case, the calculated tilt corresponds to an angle. In contrast,when the acceleration sensor calculates the tilt, the tilt is calculatedby comparing the value of the gravitational acceleration of each axialcomponent with a predetermined reference. Therefore, the calculated tiltcan be represented as a vector. Thus, without initialization, anabsolute direction can be determined with an acceleration detectionmeans. The type of the value calculated as the tilt is also verydifferent between a gyro sensor and an acceleration sensor; i.e., thevalue is an angle when a gyro sensor is used and is a vector when anacceleration sensor is used. Therefore, when a gyro sensor is usedinstead of an acceleration sensor or vice versa, data on tilt also needsto be processed through a predetermined conversion taking into accountthe fundamental differences between these two devices. Due to the factthat the nature of gyroscopes is known to one skilled in the art, aswell as the fundamental differences between the acceleration detectionmeans and the gyroscope, further details are not provided herein. Whilea gyro-sensor is advantageous in that a rotation can be directlydetected, an acceleration sensor is generally more cost effective whenused in connection with the controller described herein.

The communication section F75 includes the micro computer F751, a memoryF752, the wireless module F753 and the antenna F754. The micro computerF751 controls the wireless module F753 for wirelessly transmitting thetransmission data while using the memory F752 as a storage area duringthe process. Further, the micro computer F751 controls the sound IC F707and the vibrator F704 based on data from the game apparatus F3 havingbeen received by the wireless module F753 via the antenna F754. Thesound IC F707 processes sound data transmitted from the game apparatusF3 via the communication section F75, and the like.

Data from the core unit F70 including an operation signal (core keydata) from the operation section F72, acceleration signals (coreacceleration data) from the acceleration sensor F701, and the processresult data from the imaging information calculation section F74 areoutputted to the micro computer F751. An operation signal (sub key data)from the operation section F78 of the subunit F76 and accelerationsignals (sub acceleration data) from the acceleration sensor F761 areoutputted to the micro computer F751 via the connecting cable F79. Themicro computer F751 temporarily stores the input data (core key data,sub key data, core acceleration data, sub acceleration data, and processresult data) in the memory F752 as the transmission data which is to betransmitted to the receiving unit F6. The wireless transmission from thecommunication section F75 to the receiving unit F6 is performedperiodically at a predetermined time interval. Since game process isgenerally performed at a cycle of 1/60 sec., data needs to be collectedand transmitted at a cycle of a shorter time period. Specifically, thegame process unit is 16.7 ms (1/60 sec.), and the transmission intervalof the communication section F75 structured using the Bluetooth(registered trademark) technology is 5 ms. At the transmission timing tothe receiving unit F6, the micro computer F751 outputs the transmissiondata stored in the memory F752 as a series of operation information tothe wireless module F753. The wireless module F753 uses, for example,the Bluetooth (registered trademark) technology to modulate theoperation information onto a carrier wave of a predetermined frequency,and radiates the low power radio wave signal from the antenna F754.Thus, the core key data from the operation section F72 included in thecore unit F70, the sub key data from the operation section F78 includedin the subunit F76, the core acceleration data from the accelerationsensor F701 included in the core unit F70, the subacceleration data fromthe acceleration sensor F761 included in the subunit F76, and theprocess result data from the imaging information calculation section F74are modulated onto the low power radio wave signal by the wirelessmodule F753 and radiated from the core unit F70. The receiving unit F6of the game apparatus F3 receives the low power radio wave signal, andthe game apparatus F3 demodulates or decodes the low power radio wavesignal to obtain the series of operation information (the core key data,the sub key data, the core acceleration data, the sub acceleration dataand the process result data). Based on the obtained operationinformation and the game program, the CPU F30 of the game apparatus F3performs the game process. In the case where the communication sectionF75 is structured using the Bluetooth (registered trademark) technology,the communication section F75 can have a function of receivingtransmission data which is wirelessly transmitted from other devices.

As shown in FIG. 56, in order to play a game using the controller F7with the game system F1, a player holds the core unit F70 with one hand(for example, a right hand) (see FIGS. 57 and 58), and holds the subunitF76 with the other hand (for example, a left hand) (see FIG. 60). Theplayer holds the core unit F70 so as to point the front surface of thecore unit F70 (that is, a side having an entrance through which light isincident on the imaging information calculation section F74 taking animage of the light) to the monitor F2. On the other hand, two LEDmodules F8L and F8R are provided in the vicinity of the display screenof the monitor F2. The LED modules F8L and F8R each outputs infraredlight forward from the monitor F2.

When a player holds the core unit F70 so as to point the front surfacethereof to the monitor F2, infrared lights outputted by the two LEDmodules F8L and F8R are incident on the imaging information calculationsection F74. The image pickup element F743 takes images of the infraredlights incident through the infrared filter F741 and the lens F742, andthe image processing circuit F744 processes the taken images. Theimaging information calculation section F74 detects infrared componentsoutputted by the LED modules F8L and F8R so as to obtain positions andarea information of the LED modules F8L and F8R. Specifically, theimaging information calculation section F74 analyzes image data taken bythe image pickup element F743, eliminates images which do not representthe infrared lights outputted by the LED modules F8L and F8R from thearea information, and identifies points each having a high brightness aspositions of the LED modules F8L and F8R. The imaging informationcalculation section F74 obtains position coordinates, coordinates of thecentroid, and the like of each of the identified points having the highbrightness and outputs the same as the process result data. When suchprocess result data is transmitted to the game apparatus F3, the gameapparatus F3 can obtain, based on the position coordinates and thecoordinates of the centroid, operation signals relating to the motion,attitude, position and the like of the imaging information calculationsection F74, that is, the core unit F70, with respect to the LED modulesF8L and F8R. Specifically, the position having a high brightness in theimage obtained through the communication section F75 is changed inaccordance with the motion of the core unit F70, and therefore adirection input or coordinate input is performed in accordance with theposition having the high brightness being changed, thereby enabling adirection input or a coordinate input to be performed along the movingdirection of the core unit F70.

Thus, the imaging information calculation section F74 of the core unitF70 takes images of stationary markers (infrared lights from the two LEDmodules F8L and F8R in the present embodiment), and therefore the gameapparatus F3 can use the process result data relating to the motion,attitude, position and the like of the core unit F70 in the gameprocess, whereby an operation input, which is different from an inputmade by pressing an operation button or using an operation key, isfurther intuitively performed. As described above, since the markers areprovided in the vicinity of the display screen of the monitor F2, themotion, attitude, position and the like of the core unit F70 withrespect to the display screen of the monitor F2 can be easily calculatedbased on positions from the markers. That is, the process result dataused for obtaining the motion, attitude, position and the like of thecore unit F70 can be used as operation input immediately applied to thedisplay screen of the monitor F2.

With reference to FIGS. 57 and 58, a state of a player holding the coreunit F70 with one hand will be described. FIG. 57 shows an exemplarystate of a player holding the core unit F70 with a right hand as seenfrom the front surface side of the core unit F70. FIG. 58 shows anexemplary state of a player holding the core unit F70 with a right handas seen from the left side of the core unit F70.

As shown in FIGS. 57 and 58, the overall size of the core unit F70 issmall enough to be held by one hand of an adult or even a child. Whenthe player puts a thumb on the top surface of the core unit F70 (forexample, near the cross key F72 a), and puts an index finger in therecessed portion on the bottom surface of the core unit F70 (forexample, near the operation button F72 i), the light entrance of theimaging information calculation section F74 on the front surface of thecore unit F70 is exposed forward to the player. It should be understoodthat also when the player holds the core unit F70 with a left hand, theholding state is the same as that described for the right hand.

Thus, the core unit F70 allows a player to easily operate the operationsection F72 such as the cross key F72 a or the operation button F72 iwhile holding the core unit F70 with one hand. Further, when the playerholds the core unit F70 with one hand, the light entrance of the imaginginformation calculation section F74 on the front surface of the coreunit F70 is exposed, whereby the light entrance can easily receiveinfrared lights from the aforementioned two LED modules F8L and F8R.That is, the player can hold the core unit F70 with one hand withoutpreventing the imaging information calculation section F74 fromfunctioning. That is, when the player moves his or her hand holding thecore unit F70 with respect to the display screen, the core unit F7 o canfurther perform an operation input enabling a motion of the player'shand to directly act on the display screen.

As shown in FIG. 59, the LED modules F8L and F8R each has a viewingangle .theta.1. The image pickup element F743 has a viewing angle.theta.2. For example, the viewing angle .theta.1 of the LED modules F8Land F8R is 34 degrees (half-value angle), and the viewing angle .theta.2of the image pickup element F743 is 41 degrees. When both the LEDmodules F8L and F8R are in the viewing angle .theta.2 of the imagepickup element F743, and the image pickup element F743 is in the viewingangle .theta.1 of the LED module F8L and the viewing angle .theta.1 ofthe LED module F8R, the game apparatus F3 determines a position of thecore unit F70 using positional information relating to the point havinghigh brightness of the two LED modules F8L and F8R.

When either the LED module F8L or LED module F8R is in the viewing angle.theta.2 of the image pickup element F743, or when the image pickupelement F743 is in either the viewing angle .theta.1 of the LED moduleF8L or the viewing angle .theta.1 of the LED module F8R, the gameapparatus F3 determines a position of the core unit F70 using thepositional information relating to the point having high brightness ofthe LED module F8L or the LED module F8R.

As described above, the tilt, attitude or position of the core unit F70can be determined based on the output (core acceleration data) from theacceleration sensor F701 of the core unit F70. That is, the core unitF70 functions as an operation input means for performing an operation inaccordance with a player moving a hand holding the core unit F70, forexample, upward, downward, leftward, or rightward.

Next, with reference to FIG. 60, a state of a player holding the subunitF76 with one hand will be described. FIG. 60 shows an exemplary state ofa player holding the subunit F76 with a left hand as seen from the rightside of the subunit F76.

As shown in FIG. 60, the overall size of the subunit F76 is small enoughto be held by one hand of an adult or even a child. For example, aplayer can put a thumb on the top surface of the subunit F76 (forexample, near the stick F78 a), put an index finger on the front surfaceof the subunit F76 (for example, near the operation buttons F78 d andF78 e), and put a middle finger, a ring finger and a little finger onthe bottom surface of the subunit F76 so as to hold the subunit F76. Itshould be understood that also when the player holds the subunit F76with a right hand, the holding state is similar to that described forthe left hand. Thus, the subunit F76 allows the player to easily operatethe operation section F78 such as the stick F78 a and the operationbuttons F78 d and F78 e while holding the subunit F76 with one hand.

As described above, the tilt, attitude or position of the subunit F76can be determined based on the output (sub acceleration data) from theacceleration sensor F761 of the subunit F76. That is, the subunit F76functions as an operation input means for performing an operation inaccordance with the player moving a hand holding the subunit F76, forexample, upward, downward, leftward, and rightward.

Here, an exemplary game played using the aforementioned controller F7will be described. As a first example, a shooting game played using thecontroller F7 will be described. FIG. 61 is a diagram illustrating anexemplary game image displayed on the monitor F2 when the game apparatusF3 executes the shooting game.

As shown in FIG. 61, a portion of a three-dimensional virtual game spaceS is displayed on the display screen of the monitor F2. As a game objectacting in accordance with an operation of the controller F7, a portionof the player character P and a portion of a gun G held by the playercharacter P are displayed on the display screen. Moreover, the virtualgame space S displayed on the display screen represents a field of frontvision of the player character P, and for example an opponent characterE is displayed as a shooting target in FIG. 61. A target indicating aposition at which the player character P shoots the gun G is displayedon the display screen as the target cursor T.

In the shooting game having such a game image displayed on the monitorF2, a player operates the core unit F70 with one hand and operates thesubunit F76 with the other hand as shown in FIG. 18 so as to play thegame. For example, when the player inclines the stick F78 a (see FIGS.49A, 49B, 49C and 50) on the subunit F76, the player character P ismoved in the virtual game space S in accordance with the incliningdirection. Further, when the player moves his or her hand holding thecore unit F70 with respect to the display screen, the target cursor T ismoved in accordance with the motion, attitude, position and the like ofthe core unit F70 with respect to the monitor F2 (LED modules F8L andF8R). When the player presses the operation button F72 i (shown in FIG.44) on the core unit F70, the player character P shoots the gun G at thetarget cursor T.

That is, while the player uses the stick F78 a on the subunit F76 so asto instruct the player character P to move, the player can operate thecore unit F70 as if the core unit F70 is a gun for the shooting game,thereby enhancing enjoyment in playing a shooting game. The player canperform an operation of moving the player character P and an operationof moving the target cursor T by using respective units held bydifferent hands, whereby the player can perform the respectiveoperations as independent ones. For example, since the virtual gamespace S displayed on the display screen is changed in accordance withthe movement of the player character P, it is sometimes difficult tokeep the target positioned near a position observed by the player in thevirtual game space S because, for example, the player may be payingattention to the opponent character E suddenly jumping into the virtualgame space S. However, while the player is moving the player character Pwith one hand (for example, a thumb of a left hand), the player cancontrol a motion of the arm (for example, a right arm) which is not usedfor moving the player character P such that the core unit F70 has itsfront surface pointed to the observed position, thereby substantiallyenhancing flexibility for operating the controller F7 and increasing thereality of the shooting game. Further, in order to move the targetcursor T, the player moves the controller. However, the operation ofmoving the controller does not hinder the player from performing adirection instruction operation for moving the player character P,thereby enabling the player to stably perform the two directioninstruction operations. That is, by using the controller F7, the playercan freely use his or her left and right hands and can perform a newoperation having increased flexibility, which cannot be achieved using aphysically single controller.

In a second example, a player inclines the stick F78 a on the subunitF76 so as to move the player character Pin the virtual game space S inaccordance with the inclining direction as in the first example. Theplayer moves a hand holding the core unit F70 with respect to thedisplay screen so as to move a sight point of a virtual camera inaccordance with a position of the core unit F70 with respect to themonitor F2 (LED modules F8L and F8R). These operations allow the playerto observe a position to which the core unit F70 is pointed in thevirtual game space S while operating the stick F78 a on the subunit F76so as to instruct the player character P to move.

In the above description, the controller F7 and the game apparatus F3are connected to each other by wireless communication. However, thecontroller F7 and the game apparatus F3 may be electrically connected toeach other by a cable. In this case, the cable connected to the coreunit F70 is connected to a connection terminal of the game apparatus F3.

Moreover, in the present embodiment, only the core unit F70 among thecore unit F70 and the subunit F76 of the controller F7 has thecommunication section F75. However, the subunit F76 may have thecommunication section for wirelessly transmitting the transmission datato the receiving unit F6. Further, both the core unit F70 and thesubunit F76 may have the respective communication sections. For example,the respective communication sections included in the core unit F70 andthe subunit F76 may wirelessly transmit the transmission data to thereceiving unit F6, or the communication section of the subunit F76 maywirelessly transmit the transmission data to the communication sectionF75 of the core unit F70, and the communication section F75 of the coreunit F70 may wirelessly transmit, to the receiving unit F6, the receivedtransmission data from the subunit F76 and the transmission data of thecore unit F70. In these cases, the connecting cable F79 for electricallyconnecting between the core unit F70 and the subunit F76 can beeliminated.

In the above description, the receiving unit F6 connected to theconnection terminal of the game apparatus F3 is used as a receivingmeans for receiving transmission data which is wirelessly transmittedfrom the controller F7. Alternatively, the receiving means may be areceiving module built in the game apparatus F3. In this case, thetransmission data received by the receiving module is outputted to theCPU F30 via a predetermined bus.

Although in the present embodiment the imaging information calculationsection F74 included in the core unit F70 is described as an example ofa determining section for outputting a signal (process result data) inaccordance with a motion of the core unit F70 body, the imaginginformation calculation section F74 may be provided in another form. Forexample, the core unit F70 may include the acceleration sensor F701 asdescribed above, or may include a gyro sensor. The acceleration sensoror the gyro sensor can be used to determine a motion or attitude of thecore unit F70, and, therefore, can be used as a determining section foroutputting a signal in accordance with the motion of the core unit F70body using the detection signal for the motion or attitude. In thiscase, the imaging information calculation section F74 may be eliminatedfrom the core unit F70, or sensor and the imaging informationcalculation section can be used in combination.

Further, although in the present embodiment only the core unit F70includes the imaging information calculation section F74, the subunitF76 may also include a similar imaging information calculation section.

Further, when the controller F7 includes a plurality of units, each ofwhich may have a plurality of operation means such as the imaginginformation calculation section, the acceleration sensor, the gyrosensor, the stick, the cross key, and the operation button, variouscombination of the operation means can realize various controllers.Here, the operation means included in the core unit F70 and the subunitF76 are classified into an operation means A and an operation means B.The operation means A, such as the imaging information calculationsection F74, the acceleration sensors F701 and F761, and the gyrosensor, outputs a signal in accordance with the movement of the unitbody. The operation means B, such as the stick, the cross key, theoperation button, the touch pad, outputs a signal in accordance with theplayer pressing a button, tilting a component or touching the same.

When the core unit F70 includes the operation means A and the subunitF76 includes the operation means B, the player can move one hand holdingthe core unit F70 while the player makes an input with a finger of theother hand holding the subunit F76 as in the case of a conventionalcontroller. That is, the player can perform different operations with aright and a left hands, respectively, thereby realizing a new operationwhich cannot be performed by a conventional controller. In this case,according to various embodiments, operation data outputted by theoperation means A corresponds to first operation data, and operationdata outputted by the operation means B corresponds to second operationdata. Further, the controller may be constructed such that the subunitF76 may include the operation means A, the core unit F70 may include theoperation means A, and the subunit F76 may include the operation means Aand the operation means B. In this manner, the player can move bothhands individually, thereby realizing an increasingly improvedoperation. In this case, according to various embodiments, operationdata outputted by the operation means A of the subunit F76 correspondsto third operation data.

Further, when the core unit F70 and the subunit F76 each includes theoperation means A, the player can move one handholding the core unit F70while the player can move the other hand holding the subunit F76 so asto make an input. That is, the player can move a right and a left handsindividually, thereby realizing a new operation which cannot beperformed by a conventional controller. In this case, according tovarious embodiments, operation data outputted by the respectiveoperation means A of the core unit F70 and the subunit F76 correspond tofirst operation data and second operation data. Further, each of thecore unit F70 and the subunit F76 may include both the operation means Aand the operation means B. In this manner, the player can performoperations by moving both hands and using fingers of both hands, therebyrealizing a new operation. In this case, according to variousembodiments, operation data outputted by the operation means B of thecore unit F70 corresponds to first key operation data, and operationdata outputted by the operation means B of the subunit F76 correspondsto second key operation data.

Furthermore, when each of the core unit F70 and the subunit F76 includesthe operation means A, one of the core unit F70 or the subunit F76 mayinclude various types of operation means A. As described above, when theoperation means A includes the imaging information calculation section,a direction, a position and the like of the unit with respect to theimaging target (marker) can be calculated, thereby enabling an operationbased on the direction and the position of the unit with respect to themonitor F2. On the other hand, when the operation means A includes theacceleration sensor or the gyro sensor, a tilt, an attitude, a positionand the like of the unit itself can be calculated, thereby enabling anoperation based on the attitude and the position of the unit.Accordingly, when the core unit F70 includes the imaging informationcalculation section and one of the acceleration sensor or the gyrosensor, and the subunit F76 includes the acceleration sensor or the gyrosensor, the core unit F70 can perform the aforementioned two operations.In this case, according to various embodiments, operation data outputtedby the imaging information calculation section of the core unit F70corresponds to first operation data, operation data outputted by theacceleration sensor or the gyro sensor of the subunit F76 corresponds tosecond operation data, and operation data outputted by the accelerationsensor or the gyro sensor of the core unit F70 corresponds to thirdoperation data.

In the present embodiment, image data taken by the image pickup elementF743 is analyzed so as to obtain position coordinates and the like of animage of infrared lights from the LED modules F8L and F8R, and the coreunit F70 generates process result data from the obtained coordinates andthe like and transmits the process result data to the game apparatus 3.However, the core unit F70 may transmit data obtained in another processstep to the game apparatus F3. For example, the core unit F70 transmitsto the game apparatus F3 image data taken by the image pickup elementF743, and the CPU F30 may perform the aforementioned analysis so as toobtain process result data. In this case, the image processing circuitF744 can be eliminated from the core unit F70. Alternatively, the coreunit F70 may transmit, to the game apparatus F3, the image data havingbeen analyzed halfway. For example, the core unit F70 transmits to thegame apparatus F3 data indicating a brightness, a position, an area sizeand the like obtained from the image data, and the CPU F30 may performthe remaining analysis so as to obtain process result data.

Although in the present embodiment infrared lights from the two LEDmodules F8L and F8R are used as imaging targets of the imaginginformation calculation section F74 in the core unit F70, the imagingtarget is not restricted thereto. For example, infrared light from oneLED module or infrared lights from at least three LED modules providedin the vicinity of the monitor F2 may be used as the imaging target ofthe imaging information calculation section F74. Alternatively, thedisplay screen of the monitor F2 or another emitter (room light or thelike) can be used as the imaging target of the imaging informationcalculation section F74. When the position of the core unit F70 withrespect to the display screen is calculated based on the positionalrelationship between the imaging target and the display screen of themonitor F2, various emitters can be used as the imaging target of theimaging information calculation section F74.

The aforementioned shapes of the core unit F70 and the subunit F76 aremerely examples. Further, the shape, the number, setting position andthe like of each of the operation section F72 of the core unit F70 andthe operation section F78 of the subunit F76 are merely examples. Invarious embodiments, the shape, the number, the setting position and thelike of each of the core unit F70, the subunit F76, the operationsection F72, and the operation section F78 may vary and still fallwithin the scope of various embodiments. Further, the imaginginformation calculation section F74 (light entrance of the imaginginformation calculation section F74) of the core unit F70 may not bepositioned on the front surface of the housing F71. The imaginginformation calculation section F74 may be provided on another surfaceat which light can be received from the exterior of the housing F71.

Further, although the speaker F706, the sound IC F707, and the amplifierF708 as described above are included in the core unit F70, any devicesat hand capable of outputting a sound may be included in either thesubunit F76 or the core unit F70.

Thus, the controller according to various embodiments allows a player tooperate both the core unit F70 and the subunit F76 included therein soas to enjoy a game. For example, the core unit F70 has a function ofoutputting a signal in accordance with a motion of the unit bodyincluding the imaging information calculation section F74 and theaccelerator sensor F701, and the subunit F76 has a function ofoutputting a signal in accordance with a direction input operationperformed by the player. For example, when used is a controller intowhich the core unit F70 and the subunit F76 are integrated, the wholecontroller has to be moved so as to output a signal in accordance withthe motion of the unit body, thereby exerting some influence on thedirection input operation. Further, the integration of the core unit F70and the subunit F76 causes the opposite influence, that is, flexibility,which is realized by separation between the core unit F70 and thesubunit F76, is substantially reduced. As another example, the core unitF70 may have a function of outputting a signal in accordance with amotion of the unit body including the imaging information calculationsection F74 and the acceleration sensor F701, and the subunit F76 mayhave a function of outputting a signal in accordance with the motion ofthe unit body including the acceleration sensor F761. Therefore, theplayer can move both hands holding the different units individually soas to make an input. Accordingly, the core unit F70 and the subunit F76can be separated into a right unit and a left unit as in the case of aconventional controller for the game apparatus, and simultaneously thecore unit F70 and the subunit F76 allow the player to freely use his orher right and left hands, thereby providing the player with a newoperation, which cannot be performed by the integrated controller.Further, the controller can be operated with substantially enhancedflexibility, thereby providing a player with a game operation havingincreased reality.

The game controller and the game system according to various embodimentscan realize an operation having increased flexibility, and are useful asa game controller which includes two independent units and is operatedby a player holding the two independent units, a game system includingthe game controller, and the like.

Motion Control for Gaming Devices

In some embodiments, a gaming device, such as a mobile gaming device,receives inputs in the form of motion. For example, a human holding amobile gaming device may make commands or provide instructions bytilting the device, moving the device in some direction, rotating thedevice, shaking the device, hitting the device against something,tossing the device, or providing any other motion-based inputs to thedevice. The motions may translate to one or more commands orinstructions used in a game. The motions may also translate to commandsor instructions or requests used for other purposes, e.g., beyond theplay of a game. Commands, instructions, requests, and specifications mayinclude: (a) an instruction to place a bet; (b) a specification of thesize of a bet; (c) an instruction to begin a game; (d) an instruction topursue a particular strategy in a game; (e) an instruction to hold aparticular card in a game of video poker; (f) an instruction to hit in agame of blackjack; (g) an instruction to cash out; (h) an instruction toswitch games; (i) a specification of a particular type of game to play;(j) an instruction to make a particular selection in a bonus round; (k)a request to order a drink; (l) a request to order food; (m) aninstruction to summon a casino representative; (n) a request to redeemcomp points; (o) a request to receive a comp benefit; (p) an instructionto open up a line of communication with another person (e.g., with afriend who is also in a casino); (q) an instruction to make a withdrawalfrom an account (e.g., from a bank account); (r) an instruction to fundan account (e.g., to fund an account a player has with a casino withgaming credits); (s) a request to make a purchase; (t) a request topurchase show tickets; (u) an instruction to make a reservation at arestaurant; (v) a request for information; (w) a request for informationabout a pay table (e.g., about the payouts on a pay table); (x) arequest for a location of a particular room; (y) a request to check intoa hotel room; (z) a request to reserve a hotel room; (aa) a request tocheck on show times; (ab) a request to claim a jackpot; (ac) a requestto make a phone call; (ad) a specification of a phone number; (ad) arequest to access a network; (ae) a request to access the Internet; (af)a specification of a Web or URL address; (ag) a request to receiveinformation about another player; (ah) a request to see informationabout a game outcome of another player; (ai) a request to seeinformation about the gaming history of another player; (aj) a requestto receive information about one or more players, dealers, gamingdevices, or game tables (e.g., a request to see the most recent outcomesfor any of the aforementioned); and any other request, instruction,command, or specification. The mobile gaming device may include hardwareand/or software for detecting motions. The mobile gaming device may workin conjunction with external hardware or software for detection motions.The mobile gaming device or another device may include software fortranslating motions detected into instructions that can be used inconducting a game or in any other fashion.

Herein, “motion control” may include using motion as an input to a game,using motion as a command, and/or using motion as instructions. Motioncontrol may include using the motion of a mobile gaming device toprovide inputs to the games played on the mobile gaming device, toselect games to play, to indicate a players desire to cash out, or toprovide various other instructions or indications.

1. TECHNOLOGIES. Various technologies may be used to enable motioncontrol. Such technologies may include technologies for sensing motion,including such information as acceleration, velocity, angular motion,displacement, position, angular displacement, angular velocity, angularacceleration, impact shocks, and any other information that may beassociated with motion. Technologies may include sensors, includinghardware sensors. Technologies may also include software for translatinginformation received from sensors into information about the position,trajectory, or other spatial information about a mobile gaming device.For example, software may be used to translate acceleration informationinto position information, e.g., through double integration. Varioustechnologies may or may not be described in the following references,each of which is hereby incorporated by reference herein: (1) UnitedStates Patent Application 20040046736 “Novel man machine interfaces andapplications”; (2) United States Patent Application 20030100372 “Modularentertainment and gaming systems”; (3) U.S. Pat. No. 7,058,204 “Multiplecamera control system”; (4) U.S. Pat. 5,534,917 “Video image basedcontrol system”; (5) United States Patent Application 20060281453“ORIENTATION-SENSITIVE SIGNAL OUTPUT”; (6) United States PatentApplication 20060098873 “Multiple camera control system”; (7) U.S. Pat.No. 6,850,221 “Trigger operated electronic device”; (8) United StatesPatent Application 20070072680 “Game controller and game system”; (9)United States Patent Application 20070066394 “VIDEO GAME SYSTEM WITHWIRELESS MODULAR HANDHELD CONTROLLER”; (10) United States PatentApplication 20070050597 “Game controller and game system”; (11) UnitedStates Patent Application 20070049374 “Game system and storage mediumhaving game program stored thereon”; (12) United States PatentApplication 20060139322 “Man-machine interface using a deformabledevice”; (13) U.S. Pat. No. 6,676,522 “Gaming system including portablegame devices”; (14) U.S. Pat. No. 6,846,238 “Wireless game player; (15)U.S. Pat. No. 6,702,672 “Wireless interactive gaming system”; (16) U.S.Pat. No. 7,148,789 “Handheld device having multiple localized forcefeedback”; (17) U.S. Pat. No. 7,209,118 “Increasing forcetransmissibility for tactile feedback interface devices” ; (18) U.S.Pat. No. 6,965,868, “System and method for promoting commerce, includingsales agent assisted commerce, in a networked economy”; and (19) U.S.Pat. No. 7,058,204, “Multiple camera control system”.

-   -   1.1. CAMERA IN THE DEVICE. A camera on the mobile gaming device        may capture images. As the mobile gaming device moves, different        images will likely be captured by the camera. Stationary objects        may appear to move between the images captured in successive        frames. From the apparent motion of the stationary objects, the        motion of the mobile gaming device may be inferred.    -   1.2. EXTERNAL CAMERAS. External cameras, such as stationary        wall-mounted cameras, may film the mobile gaming device and/or        the player holding the mobile gaming device. From footage of the        mobile gaming device, algorithms may infer the motion of the        mobile gaming device.    -   1.3. EXTERNAL READERS (E. G., RANGE FINDERS). External sensors        or readers may detect the motion of the mobile gaming device.        For example, ultrasound waves or lasers may be bounced off the        mobile gaming device. From changes in the reflected sound or        light, the motion of the mobile gaming device may be inferred.    -   1.4. ACCELEROMETERS. A mobile gaming device may include built-in        accelerometers. These may detect changes in velocity, which may        be used to infer other aspects of motion, such as change in        position or velocity.    -   1.5. GYROSCOPE SENSORS. A mobile gaming device may contain        internal gyroscopes. These may detect an orientation of the        mobile gaming device. Information from a gyroscope may be used        to infer other information, such as angular displacement.    -   1.6. POSITION DETECTORS INTERNAL (GPS). A mobile gaming device        may include position detectors, such as sensors for a global        positioning system or for a local positioning system. Position,        when measured over time, may be used to infer other aspects of        motion, such as velocity or acceleration.    -   1.7. POSITION DETECTORS EXTERNAL. External detectors may measure        the position of a mobile gaming device. For example, the mobile        gaming device may emit a signal in all directions. Based on the        time it takes the signal to reach various fixed detectors, the        position of the mobile gaming device may be inferred.    -   1.8. RFID. DETECT AS THE SIGNAL STRENGTH OF AN RFID GETS        STRONGER OR WEAKER. A mobile gaming device may contain a radio        frequency identification (RFID) tag or other radio frequency        emitting device. Based on the reception of the signal from the        RFID tag, information about the position of the mobile gaming        device may be inferred. For example, if the signal received is        weak, it may be inferred that the mobile gaming device is far        from a fixed receiver. If the received signal is strong, it may        be inferred that the mobile gaming device is near to the fixed        receiver.        2. SWITCH FOR MOTION COMMANDS. ENABLE SWITCH FOR THE MOTION        COMMAND. PRESS MOTION BUTTON, AND WHILE PRESSED, MOTION WORKS.        COULD BE A CONSTANT COMMAND OR TOGGLE ON OR OFF TO MAKE THE        COMMAND BE IN FORCE. TO ENABLE THAT YOU′RE IN MOTION CONTROL        MODE, YOU COULD GO THROUGH ALL THESE MOTIONS. In various        embodiments, motion control may alternately enabled or disabled.        At some times motion control may be in use, while at other times        motion control may not be in use. For example, at a first time a        the motion of a mobile gaming device may cause decisions to be        made in a game, while at a second time the motion of a mobile        gaming device may not have any effect on a game. When motion        control is enabled, a player may be able to conveniently engage        in game play. When motion control is off, a player may move a        mobile gaming device inadvertently without worry that such        movement will affect a game. Thus, there may be reasons at        various times to have motion control enabled, and reasons at        various times to have motion control disabled.    -   2.1. TOGGLE ON AND OFF. In various embodiments, a player must        provide continuous, substantially continuous, or persistent        input in order to maintain the enablement of motion control.        Continuous input may include continuous pressure, such as the        continuous pressing and holding of a button. Continuous input        may include continuous squeezing of buttons or of the device        (e.g., the mobile gaming device) itself. In some embodiments,        continuous input may include repeated pressing of a button such        that, for example, each button press occurs within a        predetermined time interval of the previous button press. In        various embodiments, continuous input may include continuous        contact. For example, to maintain the enablement of motion        control a player must maintain a finger or other appendage in        constant contact with a touch sensitive device (e.g., on the        mobile gaming device). In various embodiments, a continuous        input may require the player to continuously supply heat, such        as body heat through contact. In various embodiments, continuous        input may require the player to continuously supply a finger        print, e.g., through keeping a finger in continuous contact with        fingerprint reader. In various embodiments, continuous input may        include continuous noise or sound generation, e.g., continuous        humming by the player.

So long as a player provides a continuous input, the player may be ableto move the mobile gaming device or some other device in order tocontrol action in a game or to otherwise provide commands, instructionsor other inputs. For example, to provide an input using motion, a playermay press a button on a mobile gaming device and, while the button ispressed, move the mobile gaming device around. Should the player let goof the button, the motion of the mobile gaming device would cease to beused as an input. Should the player then resume pressing the button, theplayer may once again use the motion of the mobile gaming device as aninput.

In various embodiments, a continuous input may be provided to the mobilegaming device, e.g., when the player holds a button on the mobile gamingdevice. In various embodiments, a player may provide continuous input toanother device. For example, the player may hold down a foot pedal. Thefoot pedal may be in communication with the mobile gaming device, eitherdirectly or indirectly, or the foot pedal may be in communication withanother device which would be controlled by the motion of the mobilegaming device. Thus, based on whether the foot pedal is pressed, adetermination may be made as to whether the motion of the mobile gamingdevice will be used to control a game or to provide other input.

In some embodiments, a continuous input from the player is necessary todisable motion control. In the absence of the continuous input (e.g., ifa button is not pressed), the motion of the mobile gaming device will beused to control a game or to provide other direction.

-   -   2.2. CONSTANT COMMAND. In various embodiments, a single input,        set or inputs, or an otherwise limited set of inputs may switch        motion control on or off. For example, a player may press a        button to switch motion control on. The player may press the        same button again to switch motion control off. As another        example, a player may flip a switch one way to switch motion        control on, and may flip the switch the other way to switch        motion control off. As another example, a player may select from        a menu an option to enable motion control. The player may later        select another option from the menu to disable motion control.

Once motion control has been enabled (e.g., with a single press of abutton), the motion of the mobile gaming device may be used to control agame or to provide other directions. No further input to enable motioncontrol may be required beyond the initial flipping of a switch orpressing of a button, for example.

-   -   2.2.1. MOTION CONTROL GOES OFF WHEN: In some embodiments, motion        control may be automatically disabled under certain        circumstances. For example, when the player has selected from a        menu an option to enable motion control, motion control may        remain enabled until some triggering condition occurs which will        cause motion control to be automatically disabled.        -   2.2.1.1. NO MOTION FOR A WHILE. If, for some period of time,            there has been no motion, no significant motion, no            detectable motion, and/or no motion that is translatable            into a coherent instruction, then motion control may be            automatically switched off. Motion control may be            automatically switched off after 30 seconds, for example.        -   2.2.1.2. DEVICE LOWERED OR PUT IN POCKET. If a mobile gaming            device has been lowered then motion control may be disabled.            For example, it may be presumed that a player has put down a            mobile gaming device and is no longer playing the mobile            gaming device, therefore motion control may be disabled            automatically. If a mobile gaming device has been placed in            a players pocket, motion control may be disabled            automatically. If, for example, the sensors in the mobile            gaming device no longer detect light, and/or detect            proximate body heat, motion control may be disabled.    -   2.2.2. KEYBOARD LOCKING TO AVOID SWITCHING ON MOTION CONTROL        ACCIDENTALLY. In various embodiments, a key, switch, or other        input device may be manipulated (e.g., pressed) in order to        enable motion control. It is possible, in some embodiments, that        a player would inadvertently press a button or otherwise        manipulate an input device so as to enable motion control. In        various embodiments, a key pad of a mobile gaming device may be        locked. For example, the player may press a key or sequence of        keys that lock the keypad so that that the same input devices        which would enable motion control are temporarily        non-functional. In various embodiments, only the input devices        that could be used to enable motion control are disabled.    -   2.3. In various embodiments, an alert is provided when motion        control is enabled. For example, a mobile gaming device may        beep, buzz, or emit a tone when motion control is enabled. A        text message may be displayed, lights may flash, or other visual        alerts may be output when motion control is enabled. In various        embodiments, a voice output may be used to alert a player that        motion control is enabled.

In various embodiments, an alert may indicate that motion control hasbeen disabled. The alert may take the form of text, flashing lights,audio, voice, buzzing, vibrating, or any other form.

3. USE OF VERY PRECISE OR DEFINITIVE MOTION FOR IMPORTANT THINGS (WHEREMONEY IS ON THE LINE), AND LESS PRECISE MOTION FOR LESS IMPORTANTTHINGS. THIS WAY, ACCIDENTS LIKE “BET MAX” ARE AVOIDED. ALSO, CERTAINBETS, LIKE “BET MAX” ARE NOT ALLOWED WHEN MOTION IS ON. In variousembodiments, the nature or degree of motion required to provide aninstruction may depend on the nature of the instruction itself. Someinstructions may require a motion encompassing relatively smalldisplacements, small accelerations, small changes in angle, and/or othersmall changes. Other instructions may require a motion encompassingrelatively large displacements, relatively large accelerations,relatively large changes in angle, or relatively large amounts of otherchanges. What constitutes a large displacement, acceleration, change inangle, or other change may be defined in various ways, e.g., by somethreshold. Thus, for example, a displacement of more than six inches maybe considered large or at least may be considered sufficient for onetype of instruction. Some instructions may require motions with a largenumber of repetition or a long sequence of motion (e.g., the device ismoved up then down, then side to side, then up again). Some instructionsmay require motions with little repetition or with a small sequence ofmotion (e.g., up then down).

-   -   3.1. SIZE OF BET. The nature of motion required may depend on        the size of a bet placed. For a player to place a large bet        (e.g., a bet greater than a certain threshold amount), the        player may be required to use motions encompassing large        displacements, accelerations, changes in angle, and or other        large changes. For a smaller bet, the player may use motions        encompassing smaller changes. In various embodiments, the degree        of motion may not itself specify the size of a bet. For example,        making a motion encompassing a large displacement may not in and        of itself specify that a bet should be $25. The specification of        a bet may still require a precise sequence of motions, such as        one motion for each digit describing the bet, or such as one        motion for each credit bet. However, a large bet may require        that each of the motions used be more expansive or more        emphasized than what would be required with a smaller bet. What        constitutes a large bet may vary, and may include any bet that        is greater than some threshold, such as $10. Further, there may        be multiple thresholds of bets, with each threshold requiring a        more emphatic or expansive set of motions.    -   3.2. SIZE OF POTENTIAL PAYOUT. The nature of motion required may        depend on the size of a potential payout. For example, a player        may be engaged in a game of video poker and may receive an        intermediate outcome comprising five cards. If the intermediate        outcome includes four cards to a royal flush, the player may        have a large potential payout should he complete the royal        flush. Accordingly, when the player selects cards to keep and/or        cards to discard, expansive or emphatic motion may be required.        If the intermediate outcome does not make a large payout likely,        then less expansive or emphatic motions may be required for the        player to choose discards. In various embodiments, a mobile        gaming device, casino server, or other device may determine        whether or not a large payout is possible and/or the probability        of a large payout. Based on the size of the payout, the        probability of the payout, and/or the possibility of the payout,        the nature of the motion required to make a decision in a game        may be varied.    -   3.3. MAKING A SUBOPTIMAL DECISION. In various embodiments, the        motion required to make an optimal decision may be less than        that required to make a suboptimal decision. For example, to        make a blackjack decision that maximizes a player's expected        winnings may require a relatively small displacement, while to        make another decision may require a large displacement. In        various embodiments, a mobile gaming device, casino server, or        other device may determine a strategy that maximizes a players        expected winnings, that maximizes a potential payout for the        player, or that maximizes some other criteria for the player.        The mobile gaming device may accept relatively less expansive        motions which provide instruction to follow the best strategy,        while the mobile gaming device may require relatively more        expansive motions if such motions correspond to an instruction        to follow a strategy other than the best strategy.        4. CALIBRATION SEQUENCE, TUTORIAL. MAY BE REQUIRED SO YOU CAN'T        LATER CLAIM THAT YOU DIDN'T MEAN TO MAKE A BET. In various        embodiments, a player may go through an exercise to calibrate a        mobile gaming device to his way of providing motion. Each player        may be unique. For example, each player may have arms of a        different length, hands of a different size, different body        mechanics, different muscle strengths, and other differences        which may effect the way a player moves a mobile gaming device.        Thus, a player may go through a process of training the mobile        gaming device to recognize the individual players motions. In        various embodiments, the mobile gaming device may guide the        player through a sequence of steps in order to calibrate the        mobile gaming device. The mobile gaming device may provide the        player with instructions, e.g., using the screen display of the        mobile gaming device or using voice prompts.    -   4.1. MAKE A MOTION X TIMES. OK, THIS WILL BE HOW YOU BET. In        various embodiments, the mobile gaming device may instruct the        player to make a particular motion. Exemplary instructions may        include: “move the mobile gaming device up”; “move the mobile        gaming device up 6 inches”; “move the mobile gaming device        down”; “move the mobile gaming device left”; “move the mobile        gaming device right”; “tilt the mobile gaming device left”;        “tilt the mobile gaming device right”; “rotate the screen of the        mobile gaming device towards you”; “shake the mobile gaming        device”; “tap the mobile gaming device against something”. The        mobile gaming device may instruct the player to make a sequence        of motions. Exemplary instructions may include: “move the mobile        gaming device up and then to the right”; “move the mobile gaming        device up, then down, then up again”; “tilt the mobile gaming        device left and move it left”. The mobile gaming device may        instruct the player to perform a given motion one or more times.        For example, the mobile gaming device may instruct the player to        perform a given motion five times. When the player performs a        motion multiple times, the mobile gaming device may have more        data with which to establish an “average” motion or an expected        range of motion which will be used to correspond to a given        instruction. In various embodiments, a player may be asked to        repeat the same motion several times in succession. In various        embodiments, a player may be asked to perform a number of        different motions such that certain motions are repeated, but        not necessarily right after one another. Throughout the process        of a player making motions (e.g., while holding the mobile        gaming device), the mobile gaming device or another device may        record data about the motions. For example, the mobile gaming        device may record the amount of displacement, the amount of        acceleration, the speed, the time taken to complete a motion,        the amount of angular rotation, and/or any other aspects of the        motion. In the future, the mobile gaming device or other device        may associate similar data with the same motion. For example, if        a player was asked to move a mobile gaming device in a        particular way and if data was recorded about the way in which        the player actually did move the mobile gaming device, then it        may be assumed that if similar data is received in the future        then the player has again tried to move the mobile gaming device        in the same particular way. In various embodiments, certain        motions from the player may not be accepted. For example, the        mobile gaming device may have software with inbuilt expectations        about what an “up” motion should be. If the mobile gaming device        has asked the player to move the mobile gaming device “up” and        the mobile gaming device detects what it interprets as a        downward motion, then the mobile gaming device may take various        actions. The mobile gaming device may ask the player to please        try again. The mobile gaming device may tell the player that he        has not followed instructions and that he should have moved the        mobile gaming device up.    -   4.2. TEST. In various embodiments, a player may be asked to        perform a motion of his choice. The mobile gaming device may        then try to identify the motion. The mobile gaming device may        indicate, for example, whether the motion was up, down, to the        left, etc. The mobile gaming device may indicate the instruction        that the motion was interpreted as. For example, the mobile        gaming device may indicate that the motion was a “discard first        card” instruction or that the motion was a “spin reels” motion.        After a mobile gaming device indicates its interpretation of a        motion, the player may confirm whether or not the mobile gaming        device was correct. For example, the player may press a        “correct” or “incorrect” button on the mobile gaming device. If        the mobile gaming device has incorrectly identified one or more        player motions, then the player may be asked to go through a        process of training, e.g., an additional process of training. In        various embodiments, training may continue until the mobile        gaming device can successfully identify all player motions        and/or all player instructions (e.g., until the mobile gaming        device is correct on 50 straight trials).    -   4.3. TUTORIAL. In various embodiments, a training session or        tutorial may be geared towards a player. The mobile gaming        device, another device, or a human (e.g., a casino        representative) may show the player which motions to use for        various instructions. For example, the mobile gaming device may        tell the player to tilt the mobile gaming device twice to the        left to discard the first card in a game of video poker. The        player may then be asked to try the motion one or more times. At        some point, a player may be tested as to his understanding of        which motions perform which commands. The player may be asked to        do various things, such as to initiate a game, such as to make a        “double down” decision in blackjack, such as to cash out, or        such as any other thing. In various embodiments, the player may        be required to repeat the tutorial and/or may be prevented from        gaming using motion control until he passes a test of his        knowledge of which motions perform which instructions. Passing        may include, for example, providing accurate motions for all 10        things one is asked to do. In some embodiments, a player may be        required to take a game-specific tutorial and/or to pass a        game-specific test prior to playing a particular game. The game        may require specialized motions and it may therefore be prudent        for the player to take a tutorial on such motions. Absent taking        a game-specific test or tutorial, a player may still be allowed        to play other games.    -   4.4. SIGN OR OTHERWISE VERIFY YOU WENT THROUGH THE TUTORIAL. In        various embodiments, a player may be asked to confirm or verify        that he completed a tutorial, such as a tutorial which instructs        the player on what motions to use for particular instructions.        The player may confirm by providing a biometric reading (e.g.,        by touching his thumb to a touchpad), by signing something        (e.g., by signing the screen of his mobile gaming device with a        stylus), by recording a voiced statement to the effect that he        has completed the tutorial, or by providing any other        confirmation.    -   4.5. MOTION AIDS, CAN BE TURNED ON OR OFF. FOR EXAMPLE, LITTLE        ARROWS ON THE SCREEN EXPLAIN HOW TO MOVE THE DEVICE TO MAKE        VARIOUS BETS. BUT AS YOU GET USED TO THESE, YOU CAN TURN THE        ARROWS OFF. In various embodiments, a player may be provided        with various aids or hints during a game, the aids telling the        player how to provide certain instructions. For example, text        displayed on the screen of a mobile gaming device may tell the        player what motion to make to “hit”, what motion to make to        “stand”, and so on. In a game of video poker, a voice may be        emitted from the mobile gaming device telling the player how to        discard the first card, how to discard the second card, and so        on. For example, the voice may say, “tilt the device forward to        discard the third card”. In another example, arrows may appear        showing the player how to move the device to provide a        particular instruction. For example, an arrow pointing left that        is superimposed on a card may tell the player to tilt the device        left in order to discard the card. In various embodiments, the        aids or hints may be turned on or off by the player. An        inexperienced player may wish to have the aids on. However,        eventually the player may become so familiar with the motion        control that the player may wish to turn off the aids. The        mobile gaming device may then no longer provide hints or aids as        to what motions to make in order to provide a particular        instruction. In some embodiments, hints or aids may appear        automatically or by default, such as when a player first begins        playing a new type of game (e.g., such as when the player first        starts playing video poker). In some embodiments, the default        setting is not to have aids.    -   4.6. CUSTOMIZE MOTIONS. I WANT X TO MEAN Y THESE CAN BE        COMPLICATED SETS OF INSTRUCTIONS. In various embodiments, a        player may customize the motions that will correspond to various        instructions. The mobile gaming device may take the player        through a calibration sequence where the mobile gaming device        asks the player what motion he would like to make to correspond        to a given instruction. The player may be asked to make the        motion some number of times, such as a fixed number of times or        such as a number of times needed in order for the player to        establish a consistency of motion or for the mobile gaming        device to extract the essential parameters of the motion. The        calibration sequence may proceed through one or more        instructions until the player has created a motion corresponding        to each. In various embodiments, each instruction may correspond        to a default motion. The player may have the opportunity to        change the default motion to another motion that better suits        his preferences. In various embodiments, a player may wish for a        motion to correspond to a sequence of instructions, e.g., a long        or complicated sequence of instructions. For example, the player        may wish for a single motion to correspond to the following        sequence: (1) bet $5; (2) initiate a game of video poker;        and (3) automatically choose discards in accordance with optimal        strategy. The motion may be a motion where the player shakes the        mobile gaming device twice, for example. Thus, in various        embodiments, a simple motion may be used to execute a lengthy or        complicated set of instructions. This may allow a player to        conveniently perform desired sequences of actions.        5. THERE MAY BE CONFIRMATION. A DISPLAY MAY SAY, “YOU HAVE        MOTIONED TO BET 10.” In various embodiments, following a motion        made by a player (e.g., following the player moving the mobile        gaming device), a confirmation or an interpretation of the        players motion may be output. The mobile gaming device or        another device may make such a confirmation. The mobile gaming        device may display a message on its display screen indicating        how the players motion has been interpreted. For example, the        mobile gaming device may display a message indicating that the        player has instructed that a bet of 10 be placed on a game. The        mobile gaming device may also output a message in the form of        audio (e.g., using synthetic voice) or in any other format. The        player may have the opportunity to view the message and to take        action if he believes his motions have been misinterpreted as        the wrong instructions. For example, the mobile gaming device        may output an audio message using synthetic voice. The audio        message may say, “You have chosen to stand. Shake the mobile        gaming device if this is not your intention.” The player may        have some limited period of time in which to take an action to        prevent the mobile gaming device from carrying out the        misconstrued instruction. If the player takes no action, the        instruction that has been construed by the mobile gaming device        may be carried out. The player may also have the opportunity to        confirm an interpretation of his motion and, for example, to        thereby cause his instructions to be executed more quickly. For        example, the player may shake a mobile gaming device once to        confirm an interpretation of the players prior motion by the        mobile gaming device, and to thereby allow the mobile gaming        device to execute the players instruction.    -   5.1. THERE MAY BE VERIFICATION. A PERSON MUST MOT/ON AGAIN TO        COMPLETE A BET. In some embodiments, a player must confirm an        interpretation of a motion before his instruction will be        executed. In some embodiments, a person must repeat a motion one        or more times (e.g., the player must provide the same        instruction two or more times) before the instruction will be        carried out. In some embodiments, higher levels of verification        may be required for instructions with greater consequence, such        as instructions to bet large amounts or such as instructions        provided when a player has the potential to win a large payout.        For example, a player may have 3 seconds to stop a mobile gaming        device from executing its interpretation of an instruction to        bet $50, but only 1 second to stop a mobile gaming device from        executing its interpretation of an instruction to bet $5.        6. MOTION TO VERIFY PLAYER IDENTITY. FOR EXAMPLE, EACH PLAYER        MAY MOVE A DEVICE INA UNIQUE WAY In various embodiments, the        motion of a mobile gaming device or other device may be used as        a biometric or as a way to presumably uniquely identify a        person. It may be presumed, for example, that each person has a        different way in which they would move a mobile gaming device.        Software within a mobile gaming device or within another device        may capture motion data (e.g., using accelerometers, gyroscopes,        cameras, etc.). The software may then determine salient features        or statistics about the motion. For example, the software may        determine a degree of curvature or loopiness to the motion, a        maximum acceleration, a maximum speed, a total displacement, a        presence of vibrations, and/or any other characteristics of the        motion. When a player attempts to verify his identity by        supplying a motion sample (e.g., by moving a mobile gaming        device), software may compare his newly supplied motion to a        motion previously supplied by the purported player. If the        motions match (e.g., if the values of salient features of the        motion are the same within some confidence interval), then the        player may be presumed to be who he says he is. Having confirmed        his identity, a player may be granted certain privileges, such        as the right to engage in gaming activities using the mobile        gaming device.    -   6.1. ENTER A PASSWORD WITH MOTION. A PASS-SEQUENCE OF MOTIONS.        In various embodiments, a player may enter a password using a        set of motions. A password may comprise, for example, a sequence        of directional motions, such as “up”, “down”, “left”, and        “right”. A password may consist of 7 such motions, for example.        A player may use such a password to verify his identity, for        example. Having provided a correct password, a player may be        granted certain privileges, such as the right to engage in        gaming activities using the mobile gaming device.        7. STANDARD MOTION USED ACROSS MULTIPLE GAMES. In various        embodiments, two or more games may receive similar instructions.        For example, two or more games may each receive similar        instructions as to how much a player wishes to bet. In various        embodiments, a given motion may have the same interpretation        (e.g., may convey the same instruction or set of instructions)        across multiple games. A player may thereby need to learn to use        certain motions only once, yet be able to play many games using        those motions.    -   7.1. In various embodiments, a set of standards may be        developed, where such standards indicate what motions are to        correspond to what instructions. Games that conform to such        standards may be labeled as such. For example, a game that        accepts a certain set of motions for standard instructions in        the game may be associated with a claim that says, “Conforms to        Motion 5.0 Standards” or some similar claim. In various        embodiments, there may be multiple different standards. A given        game may be capable of accepting motions according to multiple        different standards. In various embodiments, a player may choose        which standard he wishes for a game to employ. For example, a        player may have learned to use motions based on a first standard        and so may indicate that a game should use the first standard in        interpreting his motions as opposed to using a second standard.    -   7.2. CASHOUT. An instruction which may be common to two or more        games is an instruction to cash out. Such an instruction may        correspond to a standard motion, such as shaking the mobile        gaming device up and down twice.

-   7.3. QUIT A GAME. An instruction which may be common to two or more    games is an instruction to quit the game. Such an instruction may    correspond to a standard motion.    -   7.4. INITIATE A GAME. An instruction which may be common to two        or more games is an instruction to initiate or start play of the        game. Following such an instruction in a slot machine game, for        example, the reels (or simulated reels) may begin to spin.        Following such an instruction in a game of video poker, for        example, an initial set of five cards may be dealt. Such an        instruction may correspond to a standard motion, such as tapping        the mobile gaming device against something.    -   7.5. MAKING A BET. Instructions which may be common to two or        more games may include instructions to specify a bet size. One        common instruction may be an instruction to increment a bet by        one unit or one credit. Such an instruction would, for example,        increase a bet from $3 to $4, or a bet from $0.75 to $1.00. One        common instruction may be an instruction to increment a bet by a        fixed monetary value, such as by 1 quarter or by one dollar.        With instructions available to increment bets, a player may        specify a bet size by repeatedly incrementing a bet until it        reaches the desired size. In various embodiments, instructions        to decrement a bet may also be available and may also be        standardized. An exemplary such instruction may include an        instruction to reduce a bet size by one credit.        -   7.5.1. NUMERALS. In various embodiments, a bet size may be            specified with numerals. Standard instructions based on            motions may be available for specifying numerals. For            example, a first motion may correspond to the number “1”, a            second motion may correspond to the number “2”, and so on.    -   7.6. REPEAT LAST ACTION. An instruction may include an        instruction to repeat a prior action, such as the last action        performed. For example, if the player has just used a first        motion to instruct a mobile gaming device to discard the first        card in a hand of video poker, the player may use a second        motion to instruct the mobile gaming device to repeat the last        instruction (i.e., the instruction indicated by the first        motion), and to apply the last instruction to the second card in        the hand of video poker. In various embodiments, an instruction        may include an instruction to repeat a prior game. The        instruction may indicate that the amount bet and the number of        pay lines played from the prior game should be repeated with the        current game. Instructions to repeat a prior action, to repeat a        most recent action, or to repeat a game may be common to one or        more games, and thus may have standard motion associated with        them.    -   7.7. REPEAT LAST ACTION FROM THIS SITUATION. An instruction may        include an instruction to repeat an action from a similar        situation in the past. For example, if a player is playing a        game of blackjack, the player may provide an instruction to make        the same decision that he had made in a previous game in which        he had the same point total and in which the dealer had the same        card showing. Such an instruction may be associated with a        motion. Such a motion may be standardized across two or more        games.    -   7.8. MOTION GENERATES RANDOM NUMBERS. In some embodiments,        motion is used to generate one or more random numbers used in a        game. For example, readings from various sensors on the mobile        gaming device may be captured when the mobile gaming device is        moving. Such readings may be converted into numbers (e.g., using        some algorithm). The numbers may, in turn, be used in an        algorithm for generating a game outcome. In some embodiments,        numbers generated by motion are used as the only input to an        algorithm for generating an outcome. In some embodiments,        numbers generated from the motion of a mobile gaming device may        be paired with other numbers (e.g., with random numbers        generated by a separate internal algorithm of the mobile gaming        device; e.g., with a number representing a time) in order to        generate the outcome of a game.        -   7.8.1. THE IMAGE CAPTURED IS CONVERTED INTO A RANDOM NUMBER.            In some embodiments, an image captured from a camera of a            mobile gaming device may be converted into a number. In some            embodiments, a sequence of images captured during the motion            of a mobile gaming device may be used in combination to            generate a random number. For example, numbers representing            pixel values may be combined using some function to arrive            at a number, e.g., a random number.        -   7.8.2. THE POSITIONS ARE USED AS A RANDOM NUMBER. In some            embodiments, the various positions (e.g., coordinates in            two-dimensional or three-dimensional space) to which a            mobile gaming device is moved are used to generate numbers,            such as random numbers. In some embodiments, accelerations,            velocities, durations of motions, paths taken, angular            changes, angular accelerations, and any other aspect of            motion may be used to generate numbers.    -   7.9. MOVE THE MOBILE GAMING DEVICE TO KEEP REELS SPINNING. WHEN        YOU STOP MOVING, THE REELS STOP. In some embodiments, a player        may move a mobile gaming device to draw out the duration of a        game. For example, the reels in slot machine game may continue        to spin as the player continues to move the mobile gaming        device. The reels may stop spinning once the player has stopped        moving the mobile gaming device.        8. NEW ARRANGEMENT OF GAME SYMBOLS TO MAKE MOTION CONTROL        EASIER. In various embodiments, game indicia, game controls, or        other visuals used in a game may be arranged on a display screen        of a mobile gaming device in a way that makes it intuitive for a        player to interact with such visuals. For example, a player may        have available to him four possible motions: (1) tilt the mobile        gaming device forward, or away from himself; (2) tilt the device        left; (3) tilt the device right; and (4) tilt the device        backwards, or towards himself. To make such motions intuitive to        use, visuals in a game may be clearly situated in one of four        areas of a display screen, namely the top, bottom, left side,        and right side. A player may thus readily interact with a visual        on top of the screen using a forward tilting motion, with a        visual on the left side of the screen using a left tilting        motion, with a visual on the right side of the screen using a        right tilting motion, and with a visual at the bottom of the        screen using a backwards tilting motion. In various embodiments,        indicia or other visuals are displayed in an area of a display        screen such that the direction of such area from the center of        the display screen corresponds to a direction of motion that a        player must use in order to interact with such indicia.    -   8.1. IN VIDEO POKER, CARDS ARE ARRANGED AROUND THE PERIPHERY OF        THE SCREEN. THIS WAY, YOU CAN TILT FORWARD, RIGHT, BACK, LEFT,        AND MORE CLEARLY INDICATE WHICH CARD TO HOLD. In some        embodiments, the cards dealt in a game of video poker may be        displayed respectively at the four corners of a display screen        on the mobile gaming device, with a fifth card displayed perhaps        in the center of the screen. A player may indicate that he        wishes to discard a particular card by tilting the mobile gaming        device towards the corner of the display screen in which the        particular card is displayed. To discard the card in the center,        for example, the player may move the mobile gaming device up and        down. Thus, by displaying cards in an arrangement other than a        linear arrangement, intuitive motion control is facilitated.        -   8.1.1. PENTAGONAL DISPLAY. In various embodiments, a display            may have the shape of a pentagon. A pentagonal display may            allow for each corner of the display to be occupied by a            different card in a game of video poker, for example. A            player may then be able to tilt or otherwise move the mobile            gaming device in the direction of one of the corners in            order to hold or discard the card which is shown in that            corner. In various embodiments, displays of other shapes may            be used. The shape of a display may be chosen which most            conveniently or intuitively corresponds to a game. In some            embodiments, the hardware used for a display may itself            maintain a standard form, such as a rectangular form.            However, the display may simulate another display which is            of a different shape. For example, a rectangular display may            simulate a pentagonal display by only illuminating a            pentagonal portion of the display screen.    -   8.2. BETTING BUTTONS MAY ALSO BE ALLOCATED AROUND THE PERIPHERY        OF THE SCREEN. In various embodiments, control buttons or        control-related visuals may be situated in areas of a display        screen that make interaction with such buttons using motion        intuitive. Control visuals may correspond to instructions that        may be used in a game. Control visuals may include rectangular        areas of a display screen labeled “spin”, “bet max”, “bet 1”        “cash out”. Control visuals may correspond to any other        instructions. Control buttons may be clearly located, for        example, near the top, bottom, left, or right side of a display        screen. The player may then tilt the mobile gaming device in the        same direction as is represented by the location of a control        visual relative to the center of the display screen in order to        convey the instruction indicated by the control visual. For        example, if a control visual labeled “spin” is located on the        right side of a display screen, the player may tilt the mobile        gaming device to the right in order to spin the reels of a slot        machine game (e.g., in order to start a new game).    -   8.3. BINARY SEARCH SETUP FOR PLAYING WITH MOTION. FOR EXAMPLE,        THIS ALLOWS YOU TO MAKE FINE- GRAINED DECISIONS WITH LIMITED        INPUTS (E.G., WITH ONLY RIGHT, LEFT, FORWARD, BACK). In various        embodiments, a player may specify an instruction from a range or        continuum of possible instructions using a limited set of        possible motions (e.g., using only two motions, such as a motion        to the left and a motion to the right). To begin with, any        instruction may be possible. With each motion a player makes,        the player may eliminate a portion of the instructions from        consideration. For example, with each motion, the player may        eliminate approximately half the remaining possible instructions        from consideration. Eventually, after a sequence of motions,        only a single instruction will remain. This instruction may then        be executed by the mobile gaming device. In some embodiments, a        set of possible instructions may be visually indicated with a        list on a display screen. The player may tilt the mobile gaming        device forward to select the top half of the remaining        instructions on the list, and may tilt the mobile gaming device        backwards to select the bottom half of the remaining        instructions on the list. The remaining instructions may be        highlighted, or the instructions which have been eliminated from        consideration may disappear. After a sequence of motions from        the player, only a single instruction may remain, and may be        executed by the mobile gaming device.        9. IT IS POSSIBLE TO HAVE A DEVICE THAT A PERSON DOESN'T NEED TO        LOOK AT. MOTION INPUTS CAN OBVIATE THE NEED TO PRESS BUTTONS.        THE DEVICE CAN BUZZ TO TELL YOU A GAME IS OVER, AND PERHAPS HOW        MUCH YOU'VE WON. In various embodiments, a mobile gaming device        may include a device with no display screen. The device may        include speakers or other audio output devices. In various        embodiments, a mobile gaming device may include a display        device, but the display device may not be in use. In various        embodiments, a person may play a game using motion control. The        person may be informed of a game outcome via voice output from        the mobile gaming device. For example, the mobile gaming device        may broadcast a synthetic voice telling the player that “the        player has lost” or that “the player has won $10”. A player may        also be informed of an outcome with other audio effects. For        example, the sound of chimes may represent a win while a buzzer        may represent a loss. The player may then play another game. In        this way, the player may proceed to play game after game,        without ever looking at the device. A player may thus play, for        example, in a dark room. A player may also play while driving or        while his vision is otherwise occupied.        10. YOU CAN PRACTICE THIS DEVICE WHEN YOU ARE IN THE CASINO OR        EVEN AT HOME. In various embodiments, a player may use motion        control on a mobile gaming device in a practice mode, a learning        mode, a free play mode, or in some other mode where the player        has no money at risk or where the player has a reduced amount of        money at risk (e.g., as compared to normal play). The use of        motion control in a practice mode may allow the player to learn        how to use motion control or may alleviate reservations the        player might have with regard to motion control. In various        embodiments, a switch, button, or other means of selection may        allow a player to switch from practice mode to real mode and/or        the other way around. In some embodiments, a mobile gaming        device may automatically go into practice mode when it is        outside of designated or legal gaming areas, such as when it is        off the casino floor. A mobile gaming device may detect its own        location using positioning technologies, such as GPS, for        example.    -   10.1. USE A VIDEO GAME CONTROLLER LIKE THE WII TO PRACTICE. In        various embodiments, a device other than a mobile gaming device        may be used in order to simulate the use of a mobile gaming        device. For example, a device used in a computer game console        may be used to simulate the use of a mobile gaming device. An        exemplary such device is a controller for Nintendo's® WiiTM        system which takes as inputs the motions a player makes with the        controller. In various embodiments, for example, a Wii console        or some other computer console may display graphics        representative of casino game graphics or otherwise        representative of graphics that might appear on the display        screen of a mobile gaming device. The player may move the        controller in the same way that he would move the actual mobile        gaming device. The graphics displayed may then change as they        would on an actual mobile gaming device. Thus, a player may        simulate the experience of using a mobile gaming device with a        controller for a computer game console. When the player later        uses a real mobile gaming device in a casino, for example, the        player may benefit from having practiced before.        11. CUSTOMIZE TO YOUR GESTURES. TRAIN THE DEVICE AS TO HOW        EXTREME YOU WANT YOUR GESTURES. SOME PEOPLE WANT MODERATE        GESTURES. OTHERS WANT TO MAKE EMPHATIC GESTURES. In various        embodiments, a person may calibrate the mobile gaming device to        recognize or to respond to various degrees or types of gestures.        Some people may naturally make large or sweeping motions, while        other people may prefer more subdued motions. A person may be        asked, e.g., through prompts displayed on a mobile gaming        device, to make one or more motions while holding the mobile        gaming device. The mobile gaming device may note various        characteristics of the motion based on sensor readings (e.g.,        based on readings from accelerometers stored in the mobile        gaming device). For example, the mobile gaming device may note        whether the motions made by the person have large or small        displacements, rapid or gradual accelerations, long or short        durations, and/or whether the motions made by a person have any        of two alternate characteristics or have any of three or more        alternate characteristics. The mobile gaming device, a casino        server, or another device may then store information about the        nature of a person's motions. When, in the future, the person        provides motions as a means for conveying instructions, the        motions may be registered or followed only if such motions        matched those provided during the calibration phase. For        example, if a person used large and expansive motions during        calibration, the person may not be able to provide instruction        using small subdued motions.        12. EXAMPLES OF MOTIONS. Following are some exemplary        instructions that may be provided in a game and/or that may be        provided to a mobile gaming device. Associated with the        exemplary instructions are exemplary motions of a device, such        as of a mobile gaming device, that may be used by a player to        indicate a desire that the instructions be carried out.    -   12.1. HOW TO BET. To provide an instruction to bet one credit, a        player may shake the mobile gaming device once. To add an extra        credit, the player may shake the mobile gaming device again. To        add another extra credit, the player may shake the mobile gaming        device again, and so on.    -   12.2. HOW TO STAND. To provide an instruction to stand in a game        of blackjack, a player may tilt a mobile gaming device to the        left. To provide an instruction to hit, the player may tilt the        gaming device to the right. To provide an instruction to split,        the player may move the gaming device down then up.    -   12.3. HOW TO SELECT A GAME. To select a game, a player may tilt        the mobile gaming device to the right. Each time the player        tilts the mobile gaming device to the right, a different game        from a list of games may be highlighted. When the players        desired game is highlighted, the player may tap the mobile        gaming device against something.    -   12.4. HOW TO START A GAME. To start a game, a player may move        the mobile gaming device in a clockwise circular motion in a        plane parallel to the ground.    -   12.5. HOW TO MAKE A SELECTION INA BONUS ROUND. To make a        selection in a bonus round, a player may continue tilting the        mobile gaming device to the right, with each tilt highlighting a        different selection (e.g., a different door with a hidden        present behind it). When the players desired selection is        highlighted, the player may tap the mobile gaming device against        something to make the selection.    -   12.6. HOW TO CASH OUT. To cash out, a player may move the mobile        gaming device up and down three times. Cashing out may include        transferring a balance of credit stored locally on a mobile        gaming device to a balance stored centrally, such as with a        casino server. Cashing out may include causing a mobile gaming        device or a nearby device (e.g., a device with which the mobile        gaming device is in communication) to print out a ticket which        is redeemable for cash.        13. USE MOTION OF THE MOBILE DEVICE TO CONTROL A STATIONARY        GAMING DEVICE OR OTHER DEVICE. In various embodiments, the        motion of a mobile gaming device may be used to control action        at a stationary gaming device or at any other device. In various        embodiments, the motion of a mobile gaming device may be used to        provide instructions to a stationary gaming device or to any        other device. The mobile gaming device may be in communication        with the stationary gaming device, either directly (e.g.,        through direct wireless contact), or indirectly (e.g., with        signals relayed through one or more intermediary devices, such        as the casino server). In various embodiments, motions of the        mobile gaming device may provide instructions to a stationary        gaming device, where such instructions may include instructions        to bet, to initiate a game, to cash out, to choose a particular        choice from among several choices in a bonus round, to bet a        particular amount, to discard a particular card, to make a        particular decision in blackjack, to claim a jackpot, to call        over a casino representative, or to take any other action. In        various embodiments, the motions of a mobile gaming device may        be translated in a direct or linear fashion to the motions of a        cursor or pointer on the screen of a stationary gaming device.        For example, when the mobile gaming device is moved to the        right, the cursor may move to the right of the screen, and when        the mobile gaming device is moved to the left, the cursor may        move to the left of the screen. A player may activate or        manipulate a control on the stationary gaming device by moving        the mobile gaming device in such a way as to position the cursor        on the stationary gaming device over the desired control. The        player may then provide a final motion, such as shaking the        mobile gaming device, to cause the control to be activated.        Thus, for example, a player may move a mobile gaming device to        the right in order to move a cursor on the screen of a        stationary gaming device to the right to be positioned over a        “bet” button (e.g., a rendition of a “bet” button). The player        may then shake the mobile gaming device to actually place a bet        of 1 credit. A player may use the mobile gaming device to        control other devices as well, such as ATM machines or vending        machines. For example, a player may use the motion of a mobile        gaming device to select a product in a vending machine and to        then purchase the product. For example, the products in a        vending machine may have associated indicator lights. When the        player moves the mobile gaming device the indicator light        associated with one product may go off and the indicator light        associated with another product may go on. The second product        may lie in a direction from the first product which is the same        direction that was indicated by the motion of the mobile gaming        device. In some embodiments, a person may use the motions of a        mobile device, such as a mobile gaming device, to control a        point of sale terminal.        14. USE OF MOTION AND OTHER TYPES OF INPUT. In various        embodiments, a player need not exclusively use motion control to        play a game or to perform other actions with a mobile gaming        device. For example, a player may specify a bet size by pressing        a key pad, but may actually start a game using a motion, such as        shaking the mobile gaming device. In some embodiments, a player        may have a choice of ways in which to convey a given        instruction. The same instruction may be conveyed through motion        or through other means, such as through button presses. Thus,        according to a players fancy, the player may choose one way or        the other for providing the same instruction.

The following are embodiments, not claims:

-   A. A method comprising:

detecting a first signal from a motion sensor, in which the first signalendures throughout a first period of time;

determining whether a second signal has endured throughout the firstperiod of time;

determining, if the second signal has endured throughout the firstperiod of time, an instruction based on the first signal; and

executing the instruction in a gambling game if the second signal hasendured throughout the first period of time.

-   B. The method of embodiment A in which detecting a first signal    includes detecting a first signal from a motion sensor contained    within a mobile gaming device, in which the first signal endures    throughout a first period of time.-   C. The method of embodiment B in which the motion sensor comprises    an accelerometer.-   D. The method of embodiment B in which the motion sensor comprises a    camera.-   E. The method of embodiment B further including detecting a second    signal from a button on the mobile gaming device, in which the    second signal is generated through the application of pressure to    the button.-   F. The method of embodiment E in which determining whether a second    signal has endured throughout the first period of time includes    determining whether continuous pressure has been applied to the    button throughout the first period of time.-   G. The method of embodiment E in which the instruction is one    of: (a) an instruction to place a bet; (b) an instruction to place a    bet of a certain amount; (c) an instruction to begin the gambling    game; (d) an instruction to discard a card; (e) an instruction to    receive another card; (f) an instruction to receive no further    cards; (g) an instruction to select an option in a bonus round; (h)    an instruction to cash out; (i) an instruction to select a pay line;    and (j) an instruction to begin a bonus round.-   H. The method of embodiment E in which the first signal is generated    through motion of the mobile gaming device.-   I. A method comprising:

detecting a first signal from a motion sensor of a mobile gaming device;

interpreting the first signal as a specification of a first bet in afirst game to be played at the mobile gaming device, the first betdenominated in valueless currency;

detecting a second signal from the motion sensor;

interpreting the second signal as a specification of a second bet in asecond game to be played at the mobile gaming device, the second betdenominated in valuable currency; and

determining an outcome of the second game only if the first game hasbeen completed.

-   J. The method of embodiment I in which the valueless currency is not    exchangeable for United States dollars, and in which the valuable    currency is exchangeable for United States dollars.-   K. The method of embodiment I in which the second signal has similar    characteristics to the first signal.-   L. The method of embodiment I further including displaying, prior to    detecting the first signal, a message on a display screen of the    mobile gaming device, the message providing instructions to move the    mobile gaming device in a particular way in order specify the first    bet.-   M. The method of embodiment I further including:

asking the player to provide a first proof of his identity following thecompletion of the first game;

asking the player to provide a second proof of his identity prior todetermining the outcome; and

verifying that the second proof matches the first proof.

-   N. The method of embodiment M in which the first proof is a first    fingerprint supplied to the mobile gaming device, and in which the    second proof is a second fingerprint supplied to the mobile gaming    device.-   O. A method comprising:

receiving a signal indicative of a bet at a mobile gaming device with arectangular display screen;

determining five cards;

displaying a first of the five cards in a first corner of the displayscreen;

displaying a second of the five cards in a second corner of the displayscreen;

displaying a third of the five cards in a third corner of the displayscreen;

displaying a fourth of the five cards in a fourth corner of the displayscreen;

determining a particular card of the five cards to be discarded;

determining a sixth card;

replacing the particular card with the sixth card;

determining a payout based on the sixth card and based on cards of thefive cards that were not discarded; and

adjusting a credit balance based on the payout.

-   P. The method of embodiment O further including displaying a fifth    of the five cards in the center of the display screen.-   Q. The method of embodiment O in which determining a particular card    of the five cards to be discarded includes:

detecting a motion of the mobile gaming device;

determining that the first of the five cards is to be discarded if themotion is a tilting of the mobile gaming device towards the first cornerof the display screen;

determining that the second of the five cards is to be discarded if themotion is a tilting of the mobile gaming device towards the secondcorner of the display screen;

determining that the third of the five cards is to be discarded if themotion is a tilting of the mobile gaming device towards the third cornerof the display screen; and

determining that the fourth of the five cards is to be discarded if themotion is a tilting of the mobile gaming device towards the fourthcorner of the display screen.

-   R. The method of embodiment O in which determining a payout includes    determining a payout based on the sixth card, based on cards of the    five cards that were not discarded, and based on the rules of video    poker.

The following sections I-X provide a guide to interpreting the presentapplication.

I. Determining

The term “determining” and grammatical variants thereof (e.g., todetermine a price, determining a value, determine an object which meetsa certain criterion) is used in an extremely broad sense. The term“determining” encompasses a wide variety of actions and therefore“determining” can include calculating, computing, processing, deriving,investigating, looking up (e.g., looking up in a table, a database oranother data structure), ascertaining and the like. Also, “determining”can include receiving (e.g., receiving information), accessing (e.g.,accessing data in a memory) and the like. Also, “determining” caninclude resolving, selecting, choosing, establishing, and the like.

The term “determining” does not imply certainty or absolute precision,and therefore “determining” can include estimating, extrapolating,predicting, guessing and the like.

The term “determining” does not imply that mathematical processing mustbe performed, and does not imply that numerical methods must be used,and does not imply that an algorithm or process is used.

The term “determining” does not imply that any particular device must beused. For example, a computer need not necessarily perform thedetermining.

II. Forms of Sentences

Where a limitation of a first claim would cover one of a feature as wellas more than one of a feature (e.g., a limitation such as “at least onewidget” covers one widget as well as more than one widget), and where ina second claim that depends on the first claim, the second claim uses adefinite article “the” to refer to the limitation (e.g., “the widget”),this does not imply that the first claim covers only one of the feature,and this does not imply that the second claim covers only one of thefeature (e.g., “the widget” can cover both one widget and more than onewidget).

When an ordinal number (such as “first”, “second”, “third” and so on) isused as an adjective before a term, that ordinal number is used (unlessexpressly specified otherwise) merely to indicate a particular feature,such as to distinguish that particular feature from another feature thatis described by the same term or by a similar term. For example, a“first widget” may be so named merely to distinguish it from, e.g., a“second widget”. Thus, the mere usage of the ordinal numbers “first” and“second” before the term “widget” does not indicate any otherrelationship between the two widgets, and likewise does not indicate anyother characteristics of either or both widgets. For example, the mereusage of the ordinal numbers “first” and “second” before the term“widget” (1) does not indicate that either widget comes before or afterany other in order or location; (2) does not indicate that either widgetoccurs or acts before or after any other in time; and (3) does notindicate that either widget ranks above or below any other, as inimportance or quality. In addition, the mere usage of ordinal numbersdoes not define a numerical limit to the features identified with theordinal numbers. For example, the mere usage of the ordinal numbers“first” and “second” before the term “widget” does not indicate thatthere must be no more than two widgets.

When a single device, article or other product is described herein, morethan one device/article (whether or not they cooperate) mayalternatively be used in place of the single device/article that isdescribed. Accordingly, the functionality that is described as beingpossessed by a device may alternatively be possessed by more than onedevice/article (whether or not they cooperate).

Similarly, where more than one device, article or other product isdescribed herein (whether or not they cooperate), a singledevice/article may alternatively be used in place of the more than onedevice or article that is described. For example, a plurality ofcomputer-based devices may be substituted with a single computer-baseddevice. Accordingly, the various functionality that is described asbeing possessed by more than one device or article may alternatively bepossessed by a single device/article.

The functionality and/or the features of a single device that isdescribed may be alternatively embodied by one or more other deviceswhich are described but are not explicitly described as having suchfunctionality/features. Thus, other embodiments need not include thedescribed device itself, but rather can include the one or more otherdevices which would, in those other embodiments, have suchfunctionality/features.

Terms

The term “product” means any machine, manufacture and/or composition ofmatter, unless expressly specified otherwise.

The term “process” means any process, algorithm, method or the like,unless expressly specified otherwise.

Each process (whether called a method, algorithm or otherwise)inherently includes one or more steps, and therefore all references to a“step” or “steps” of a process have an inherent antecedent basis in themere recitation of the term ‘process’ or a like term. Accordingly, anyreference in a claim to a ‘step’ or ‘steps’ of a process has sufficientantecedent basis.

The term “invention” and the like mean “the one or more inventionsdisclosed in this application” , unless expressly specified otherwise.

The terms “an embodiment”, “embodiment”, “embodiments”, “theembodiment”, “the embodiments”, “one or more embodiments”, “someembodiments”, “certain embodiments”, “one embodiment”, “anotherembodiment” and the like mean “one or more (but not all) embodiments ofthe disclosed invention(s)”, unless expressly specified otherwise.

The term “variation” of an invention means an embodiment of theinvention, unless expressly specified otherwise.

A reference to “another embodiment” in describing an embodiment does notimply that the referenced embodiment is mutually exclusive with anotherembodiment (e.g., an embodiment described before the referencedembodiment), unless expressly specified otherwise.

The terms “including”, “comprising” and variations thereof mean“including but not limited to”, unless expressly specified otherwise.

The terms “a”, “an” and “the” mean “one or more”, unless expresslyspecified otherwise.

The term “plurality” means “two or more”, unless expressly specifiedotherwise.

The term “herein” means “in the present application, including anythingwhich may be incorporated by reference”, unless expressly specifiedotherwise.

The phrase “at least one of”, when such phrase modifies a plurality ofthings (such as an enumerated list of things) means any combination ofone or more of those things, unless expressly specified otherwise. Forexample, the phrase “at least one of a widget, a car and a wheel” meanseither (i) a widget, (ii) a car, (iii) a wheel, (iv) a widget and a car,(v) a widget and a wheel, (vi) a car and a wheel, or (vii) a widget, acar and a wheel. The phrase “at least one of”, when such phrase modifiesa plurality of things does not mean “one of each of” the plurality ofthings.

Numerical terms such as “one”, “two”, etc. when used as cardinal numbersto indicate quantity of something (e.g., one widget, two widgets), meanthe quantity indicated by that numerical term, but do not mean at leastthe quantity indicated by that numerical term. For example, the phrase“one widget” does not mean “at least one widget”, and therefore thephrase “one widget” does not cover, e.g., two widgets.

The phrase “based on” does not mean “based only on”, unless expresslyspecified otherwise. In other words, the phrase “based on” describesboth “based only on” and “based at least on”. The phrase “based at leaston” is equivalent to the phrase “based at least in part on”.

The term “represent” and like terms are not exclusive, unless expresslyspecified otherwise. For example, the term “represents” does not mean“represents only”, unless expressly specified otherwise. In other words,the phrase “the data represents a credit card number” describes both“the data represents only a credit card number” and “the data representsa credit card number and the data also represents something else”.

The term “whereby” is used herein only to precede a clause or other setof words that express only the intended result, objective or consequenceof something that is previously and explicitly recited. Thus, when theterm “whereby” is used in a claim, the clause or other words that theterm “whereby” modifies do not establish specific further limitations ofthe claim or otherwise restricts the meaning or scope of the claim.

The term “e.g.” and like terms mean “for example”, and thus does notlimit the term or phrase it explains. For example, in the sentence “thecomputer sends data (e.g., instructions, a data structure) over theInternet”, the term “e.g.” explains that “instructions” are an exampleof “data” that the computer may send over the Internet, and alsoexplains that “a data structure” is an example of “data” that thecomputer may send over the Internet. However, both “instructions” and “adata structure” are merely examples of “data”, and other things besides“instructions” and “a data structure” can be “data”.

The term “respective” and like terms mean “taken individually”. Thus iftwo or more things have “respective” characteristics, then each suchthing has its own characteristic, and these characteristics can bedifferent from each other but need not be. For example, the phrase “eachof two machines has a respective function” means that the first suchmachine has a function and the second such machine has a function aswell. The function of the first machine may or may not be the same asthe function of the second machine.

The term “i.e.” and like terms mean “that is”, and thus limits the termor phrase it explains. For example, in the sentence “the computer sendsdata (i.e., instructions) over the Internet”, the term “i.e.” explainsthat “instructions” are the “data” that the computer sends over theInternet.

Any given numerical range shall include whole and fractions of numberswithin the range. For example, the range “1 to 10” shall be interpretedto specifically include whole numbers between 1 and 10 (e.g., 1, 2, 3,4, . . . 9) and non-whole numbers (e.g., 1.1, 1.2, . . . 1.9).

Where two or more terms or phrases are synonymous (e.g., because of anexplicit statement that the terms or phrases are synonymous), instancesof one such term/phrase does not mean instances of another suchterm/phrase must have a different meaning. For example, where astatement renders the meaning of “including” to be synonymous with“including but not limited to”, the mere usage of the phrase “includingbut not limited to” does not mean that the term “including” meanssomething other than “including but not limited to”.

IV. Disclosed Examples and Terminology Are Not Limiting

Neither the Title (set forth at the beginning of the first page of thepresent application) nor the Abstract (set forth at the end of thepresent application) is to be taken as limiting in any way as the scopeof the disclosed invention(s). An Abstract has been included in thisapplication merely because an Abstract of not more than 150 words isrequired under 37 C.F.R. § 1.72(b).

The title of the present application and headings of sections providedin the present application are for convenience only, and are not to betaken as limiting the disclosure in any way.

Numerous embodiments are described in the present application, and arepresented for illustrative purposes only. The described embodiments arenot, and are not intended to be, limiting in any sense. The presentlydisclosed invention(s) are widely applicable to numerous embodiments, asis readily apparent from the disclosure. One of ordinary skill in theart will recognize that the disclosed invention(s) may be practiced withvarious modifications and alterations, such as structural, logical,software, and electrical modifications. Although particular features ofthe disclosed invention(s) may be described with reference to one ormore particular embodiments and/or drawings, it should be understoodthat such features are not limited to usage in the one or moreparticular embodiments or drawings with reference to which they aredescribed, unless expressly specified otherwise.

No embodiment of method steps or product elements described in thepresent application constitutes the invention claimed herein, or isessential to the invention claimed herein, or is coextensive with theinvention claimed herein, except where it is either expressly stated tobe so in this specification or expressly recited in a claim.

The preambles of the claims that follow recite purposes, benefits andpossible uses of the claimed invention only and do not limit the claimedinvention.

The present disclosure is not a literal description of all embodimentsof the invention(s). Also, the present disclosure is not a listing offeatures of the invention(s) which must be present in all embodiments.

Devices that are described as in communication with each other need notbe in continuous communication with each other, unless expresslyspecified otherwise. On the contrary, such devices need only transmit toeach other as necessary or desirable, and may actually refrain fromexchanging data most of the time. For example, a machine incommunication with another machine via the Internet may not transmitdata to the other machine for long period of time (e.g. weeks at atime). In addition, devices that are in communication with each othermay communicate directly or indirectly through one or moreintermediaries.

A description of an embodiment with several components or features doesnot imply that all or even any of such components/features are required.On the contrary, a variety of optional components are described toillustrate the wide variety of possible embodiments of the presentinvention(s). Unless otherwise specified explicitly, nocomponent/feature is essential or required.

Although process steps, algorithms or the like may be described orclaimed in a particular sequential order, such processes may beconfigured to work in different orders. In other words, any sequence ororder of steps that may be explicitly described or claimed does notnecessarily indicate a requirement that the steps be performed in thatorder. The steps of processes described herein may be performed in anyorder possible. Further, some steps may be performed simultaneouslydespite being described or implied as occurring non-simultaneously(e.g., because one step is described after the other step). Moreover,the illustration of a process by its depiction in a drawing does notimply that the illustrated process is exclusive of other variations andmodifications thereto, does not imply that the illustrated process orany of its steps are necessary to the invention(s), and does not implythat the illustrated process is preferred.

Although a process may be described as including a plurality of steps,that does not imply that all or any of the steps are preferred,essential or required. Various other embodiments within the scope of thedescribed invention(s) include other processes that omit some or all ofthe described steps. Unless otherwise specified explicitly, no step isessential or required.

Although a process may be described singly or without reference to otherproducts or methods, in an embodiment the process may interact withother products or methods. For example, such interaction may includelinking one business model to another business model. Such interactionmay be provided to enhance the flexibility or desirability of theprocess.

Although a product may be described as including a plurality ofcomponents, aspects, qualities, characteristics and/or features, thatdoes not indicate that any or all of the plurality are preferred,essential or required. Various other embodiments within the scope of thedescribed invention(s) include other products that omit some or all ofthe described plurality.

An enumerated list of items (which may or may not be numbered) does notimply that any or all of the items are mutually exclusive, unlessexpressly specified otherwise. Likewise, an enumerated list of items(which may or may not be numbered) does not imply that any or all of theitems are comprehensive of any category, unless expressly specifiedotherwise. For example, the enumerated list “a computer, a laptop, aFDA” does not imply that any or all of the three items of that list aremutually exclusive and does not imply that any or all of the three itemsof that list are comprehensive of any category.

An enumerated list of items (which may or may not be numbered) does notimply that any or all of the items are equivalent to each other orreadily substituted for each other.

All embodiments are illustrative, and do not imply that the invention orany embodiments were made or performed, as the case may be.

V. Computing

It will be readily apparent to one of ordinary skill in the art that thevarious processes described herein may be implemented by, e.g.,appropriately programmed general purpose computers, special purposecomputers and computing devices. Typically a processor (e.g., one ormore microprocessors, one or more microcontrollers, one or more digitalsignal processors) will receive instructions (e.g., from a memory orlike device), and execute those instructions, thereby performing one ormore processes defined by those instructions. Instructions may beembodied in, e.g., one or more computer programs, one or more scripts.

A “processor” means one or more microprocessors, central processingunits (CPUs), computing devices, microcontrollers, digital signalprocessors, or like devices or any combination thereof, regardless ofthe architecture (e.g., chip-level multiprocessing/multi-core, RISC,CISC, Microprocessor without Interlocked Pipeline Stages, pipeliningconfiguration, simultaneous multithreading).

Thus a description of a process is likewise a description of anapparatus for performing the process. The apparatus that performs theprocess can include, e.g., a processor and those input devices andoutput devices that are appropriate to perform the process.

Further, programs that implement such methods (as well as other types ofdata) may be stored and transmitted using a variety of media (e.g.,computer readable media) in a number of manners. In some embodiments,hard-wired circuitry or custom hardware may be used in place of, or incombination with, some or all of the software instructions that canimplement the processes of various embodiments. Thus, variouscombinations of hardware and software may be used instead of softwareonly.

The term “computer-readable medium” refers to any medium, a plurality ofthe same, or a combination of different media, that participate inproviding data (e.g., instructions, data structures) which may be readby a computer, a processor or a like device. Such a medium may take manyforms, including but not limited to, non-volatile media, volatile media,and transmission media. Non-volatile media include, for example, opticalor magnetic disks and other persistent memory. Volatile media includedynamic random access memory (DRAM), which typically constitutes themain memory. Transmission media include coaxial cables, copper wire andfiber optics, including the wires that comprise a system bus coupled tothe processor. Transmission media may include or convey acoustic waves,light waves and electromagnetic emissions, such as those generatedduring radio frequency (RF) and infrared (IR) data communications.Common forms of computer-readable media include, for example, a floppydisk, a flexible disk, hard disk, magnetic tape, any other magneticmedium, a CD-ROM, DVD, any other optical medium, punch cards, papertape, any other physical medium with patterns of holes, a RAM, a PROM,an EPROM, a FLASH-EEPROM, any other memory chip or cartridge, a carrierwave as described hereinafter, or any other medium from which a computercan read.

Various forms of computer readable media may be involved in carryingdata (e.g. sequences of instructions) to a processor. For example, datamay be (i) delivered from RAM to a processor; (ii) carried over awireless transmission medium; (iii) formatted and/or transmittedaccording to numerous formats, standards or protocols, such as Ethernet(or IEEE 802.3), SAP, ATP, Bluetoothu, and TCP/IP, TDMA, CDMA, and 3G;and/or (iv) encrypted to ensure privacy or prevent fraud in any of avariety of ways well known in the art.

Thus a description of a process is likewise a description of acomputer-readable medium storing a program for performing the process.The computer-readable medium can store (in any appropriate format) thoseprogram elements which are appropriate to perform the method.

Just as the description of various steps in a process does not indicatethat all the described steps are required, embodiments of an apparatusinclude a computer/computing device operable to perform some (but notnecessarily all) of the described process.

Likewise, just as the description of various steps in a process does notindicate that all the described steps are required, embodiments of acomputer-readable medium storing a program or data structure include acomputer-readable medium storing a program that, when executed, cancause a processor to perform some (but not necessarily all) of thedescribed process.

Where databases are described, it will be understood by one of ordinaryskill in the art that (i) alternative database structures to thosedescribed may be readily employed, and (ii) other memory structuresbesides databases may be readily employed. Any illustrations ordescriptions of any sample databases presented herein are illustrativearrangements for stored representations of information. Any number ofother arrangements may be employed besides those suggested by, e.g.,tables illustrated in drawings or elsewhere. Similarly, any illustratedentries of the databases represent exemplary information only; one ofordinary skill in the art will understand that the number and content ofthe entries can be different from those described herein. Further,despite any depiction of the databases as tables, other formats(including relational databases, object-based models and/or distributeddatabases) could be used to store and manipulate the data typesdescribed herein. Likewise, object methods or behaviors of a databasecan be used to implement various processes, such as the describedherein. In addition, the databases may, in a known manner, be storedlocally or remotely from a device which accesses data in such adatabase.

Various embodiments can be configured to work in a network environmentincluding a computer that is in communication (e.g., via acommunications network) with one or more devices. The computer maycommunicate with the devices directly or indirectly, via any wired orwireless medium (e.g. the Internet, LAN, WAN or Ethernet, Token Ring, atelephone line, a cable line, a radio channel, an optical communicationsline, commercial on-line service providers, bulletin board systems, asatellite communications link, a combination of any of the above). Eachof the devices may themselves comprise computers or other computingdevices, such as those based on the Intel® Pentium® or Centrino™processor, that are adapted to communicate with the computer. Any numberand type of devices may be in communication with the computer.

In an embodiment, a server computer or centralized authority may not benecessary or desirable. For example, the present invention may, in anembodiment, be practiced on one or more devices without a centralauthority. In such an embodiment, any functions described herein asperformed by the server computer or data described as stored on theserver computer may instead be performed by or stored on one or moresuch devices.

Where a process is described, in an embodiment the process may operatewithout any user intervention. In another embodiment, the processincludes some human intervention (e.g., a step is performed by or withthe assistance of a human).

VI. Continuing Applications

The present disclosure provides, to one of ordinary skill in the art, anenabling description of several embodiments and/or inventions. Some ofthese embodiments and/or inventions may not be claimed in the presentapplication, but may nevertheless be claimed in one or more continuingapplications that claim the benefit of priority of the presentapplication.

Applicants intend to file additional applications to pursue patents forsubject matter that has been disclosed and enabled but not claimed inthe present application.

VII. 35 U.S.C. § 112, paragraph 6

In a claim, a limitation of the claim which includes the phrase “meansfor” or the phrase “step for” means that 35 U.S.C. § 112, paragraph 6,applies to that limitation.

In a claim, a limitation of the claim which does not include the phrase“means for” or the phrase “step for” means that 35 U.S.C. § 112,paragraph 6 does not apply to that limitation, regardless of whetherthat limitation recites a function without recitation of structure,material or acts for performing that function. For example, in a claim,the mere use of the phrase “step of” or the phrase “steps of” inreferring to one or more steps of the claim or of another claim does notmean that 35 U.S.C. § 112, paragraph 6, applies to that step(s).

With respect to a means or a step for performing a specified function inaccordance with 35 U.S.C. § 112, paragraph 6, the correspondingstructure, material or acts described in the specification, andequivalents thereof, may perform additional functions as well as thespecified function.

Computers, processors, computing devices and like products arestructures that can perform a wide variety of functions. Such productscan be operable to perform a specified function by executing one or moreprograms, such as a program stored in a memory device of that product orin a memory device which that product accesses. Unless expresslyspecified otherwise, such a program need not be based on any particularalgorithm, such as any particular algorithm that might be disclosed inthe present application. It is well known to one of ordinary skill inthe art that a specified function may be implemented via differentalgorithms, and any of a number of different algorithms would be a meredesign choice for carrying out the specified function.

Therefore, with respect to a means or a step for performing a specifiedfunction in accordance with 35 U.S.C. § 112, paragraph 6, structurecorresponding to a specified function includes any product programmed toperform the specified function. Such structure includes programmedproducts which perform the function, regardless of whether such productis programmed with (i) a disclosed algorithm for performing thefunction, (ii) an algorithm that is similar to a disclosed algorithm, or(iii) a different algorithm for performing the function.

Where there is recited a means for performing a function that is amethod, one structure for performing this method includes a computingdevice (e.g., a general purpose computer) that is programmed and/orconfigured with appropriate hardware to perform that function. Alsoincluded is a computing device (e.g., a general purpose computer) thatis programmed and/or configured with appropriate hardware to performthat function via other algorithms as would be understood by one ofordinary skill in the art.

VIII. Disclaimer

Numerous references to a particular embodiment do not indicate adisclaimer or disavowal of additional, different embodiments, andsimilarly references to the description of embodiments which all includea particular feature do not indicate a disclaimer or disavowal ofembodiments which do not include that particular feature. A cleardisclaimer or disavowal in the present application shall be prefaced bythe phrase “does not include” or by the phrase “cannot perform”.

IX. Incorporation by Reference

Any patent, patent application or other document referred to herein isincorporated by reference into this patent application as part of thepresent disclosure, but only for purposes of written description andenablement in accordance with 35 U.S.C. § 112, paragraph 1, and shouldin no way be used to limit, define, or otherwise construe any term ofthe present application, unless without such incorporation by reference,no ordinary meaning would have been ascertainable by a person ofordinary skill in the art. Such person of ordinary skill in the art neednot have been, in any way limited, by any embodiments provided in thereference.

Any incorporation by reference does not, in and of itself, imply anyendorsement of, ratification of or acquiescence in any statements,opinions, arguments or characterizations contained in any incorporatedpatent, patent application or other document, unless explicitlyspecified otherwise in this patent application.

X. Prosecution History

In interpreting the present application (which includes the claims), oneof ordinary skill in the art shall refer to the prosecution history ofthe present application, but not to the prosecution history of any otherpatent or patent application, regardless of whether there are otherpatent applications that are considered related to the presentapplication, and regardless of whether there are other patentapplications that share a claim of priority with the presentapplication.

Xl. Some Embodiments

In various embodiments, a distributed gaming system enables participantsto engage in gaming activities from remote and/or mobile locations. Thepossible gaming activities include gambling, such as that provided bycasinos. Gambling activities may include any casino-type gamblingactivities including, but not limited to, slot machines, video poker,table games (e.g., craps, roulette, blackjack, pai gow poker, Caribbeanstud poker, baccarat, etc), the wheel of fortune game, keno, sportsbetting, horse racing, dog racing, jai alai, and other gamblingactivities. The gaming activities can also include wagering on any typeof event. Events can include, for example, sporting events, such ashorse or auto racing, and athletic competitions such as football,basketball, baseball, golf, etc. Events can also include such thingsthat do not normally involve wagering. Such events may include, withoutlimitation, political elections, entertainment industry awards, and boxoffice performance of movies. Gaming can also include non-wagering gamesand events. Gaming can also include lotteries or lottery-type activitiessuch as state and interstate lotteries. These can include all forms ofnumber-selection lotteries, “scratch-off” lotteries, and other lotterycontests. The gaming system may be implemented over a communicationsnetwork such as a cellular network or a private wireless and/or wirelinenetwork. Examples of the latter include WiFi and WiMax networks. In someembodiments, the gaming system communications network is entirelyindependent of the Internet. In some embodiments, the gaming systemoperation makes minimal use of the Internet, such that only informationfor which there are no security issues is transmitted via the Internetand/or such that information may be encrypted. In various embodiments,the communications network enables players to participate in gaming fromremote locations (e.g., outside of the gaming area of a casino). Also,the system may enable players to be mobile during participation in thegaming activities. In various embodiments, the system has a locationverification or determination feature, which is operable to permit ordisallow gaming from the remote location depending upon whether or notthe location meets one or more criteria. The criterion may be, forexample, whether the location is within a pre-defined area in whichgaming is permitted by law.

As shown in FIG. 1, for example, gaming system 10 may include at leastone user 12. The system may include additional users such that there isat least a first user 12 and a second user 14. Multiple users may accessa first gaming system 10, while other multiple users access a secondgaming system (not shown) in communication with first gaming system 10.Users 12 and 14 may access system 10 by way of a gaming communicationdevice 13. Gaming communication device 13 may comprise any suitabledevice for transmitting and receiving electronic communications.Examples of such devices include, without limitation, mobile phones,personal data assistants (PDAs), computers, mini-computers, etc. Gamingcommunication devices 13 transmit and receive gaming information to andfrom communications network 16. Gaming information is also transmittedbetween network 16 and a computer 18, such as a server, which may residewithin the domain of a gaming service provider 20. The location ofcomputer 18 may be flexible, however, and computer 18 may resideadjacent to or remote from the domain of gaming service provider 20.Various embodiments may not include a gaming service provider. Thecomputer 18 and/or gaming service provider 20 may reside within,adjacent to, or remote from a gaming provider (not shown in FIG. 1). Thegaming service provider may be an actual controller of games, such as acasino. As an example, a gaming service provider may be located on thegrounds of a casino and the computer 18 may be physically within thegeographic boundaries of the gaming service provider. As discussed,however, other possibilities exist for remote location of the computer18 and the gaming service provider 20. Computer 18 may function as agaming server. Additional computers (not expressly shown) may functionas database management computers and redundant servers, for example.

In various embodiments, software resides on both the gamingcommunication device 13 and the computer 18. Software resident on gamingcommunication device 13 may be operable to present informationcorresponding to gaming activities (including gambling and non-gamblingactivities discussed herein) to the user. The information may include,without limitation, graphical representations of objects associated withthe activities, and presentation of options related to the activitiesand selectable by the user. The gaming communication device software mayalso be operable to receive data from the computer and data input by theuser. Software resident on the computer may be able to exchange datawith the gaming communication device, access additional computers anddata storage devices, and perform all of the functions described hereinas well as functions common to known electronic gaming systems.

Gaming information transmitted across network 16 may include anyinformation, in any format, which is necessary or desirable in theoperation of the gaming experience in which the user participates. Theinformation may be transmitted in whole, or in combination, in anyformat including digital or analog, text or voice, and according to anyknown or future transport technologies, which may include, for example,wireline or wireless technologies. Wireless technologies may include,for example, licensed or license-exempt technologies. Some specifictechnologies which may be used include, without limitation, CodeDivision Multiple Access (CDMA), Global System for Mobile Communication(GSM), General Packet Radio Service (GPRS), WiFi (802.11x), WiMax(802.16x), Public Switched Telephone Network (PSTN), Digital SubscriberLine (DSL), Integrated Services Digital Network (ISDN), or cable modemtechnologies. These are examples only and one of ordinary skill willunderstand that other types of communication techniques are alsocontemplated. Further, it will be understood that additional componentsmay be used in the communication of information between the users andthe gaming server. Such additional components may include, withoutlimitation, lines, trunks, antennas, switches, cables, transmitters,receivers, computers, routers, servers, fiber optical transmissionequipment, repeaters, amplifiers, etc.

In some embodiments, the communication of gaming information takes placewithout involvement of the Internet. However, in some embodiments, aportion of the gaming information may be transmitted over the Internet.Also, some or all of the gaming information may be transmitted partiallyover an Internet communications path. In some embodiments, someinformation is transmitted entirely or partially over the Internet, butthe information is either not gaming information or is gaminginformation that does not need to be maintained secretly. For instance,data that causes a graphical representation of a table game on theuser's gaming communication device might be transmitted at leastpartially over the Internet, while wagering information transmitted bythe user might be transmitted entirely over a non-Internetcommunications network.

According to some embodiments, as shown in FIG. 2 for example, thecommunications network comprises a cellular network 22. Cellular network22 comprises a plurality of base stations 23, each of which has acorresponding coverage area 25. Base station technology is generallyknown and the base stations may be of any type found in a typicalcellular network. The base stations may have coverage areas thatoverlap. Further, the coverage areas may be sectorized ornon-sectorized. The network also includes mobile stations 24, whichfunction as the gaming communication devices used by users to access thegaming system and participate in the activities available on the gamingsystem. Users are connected to the network of base stations viatransmission and reception of radio signals. The communications networkalso includes at least one voice/data switch, which may be connected tothe wireless portion of the network via a dedicated, secure landline.The communications network may also include a gaming service provider,which is likewise connected to the voice/data switch via a dedicated,secure landline. The voice/data switch may be connected to the wirelessnetwork of base stations via a mobile switching center (MSC), forexample and the landline may be provided between the voice/data switchand the MSC.

Users access the gaming system by way of mobile stations which are incommunication with, and thus part of, the communications network. Themobile station may be any electronic communication device that isoperable in connection with the network as described. For example, inthis particular embodiment, the mobile station may comprise a cellulartelephone.

In various embodiments, in the case of a cellular network for example,the gaming system is enabled through the use of a private label carriernetwork. Each base station is programmed by the cellular carrier to sendand receive private secure voice and/or data transmissions to and frommobile station handsets. The handsets may be pre-programmed with bothgaming software and the carrier's authentication software. The basestations communicate via private T1 lines to a switch. A gaming serviceprovider leases a private T1 or T3 line, which routes the calls back togaming servers controlled by the gaming service provider. Encryption canbe installed on the telephones if required by a gaming regulationauthority, such as a gaming commission.

The cellular network may be a private, closed system. Mobile stationscommunicate with base stations and base stations are connected to acentralized switch located within a gaming jurisdiction. At the switch,voice calls are transported either locally or via long distance.Specific service provider gaming traffic is transported from the centralswitch to a gaming server at a host location, which can be a casino orother location.

As subscribers launch their specific gaming application, the handsetwill only talk to certain base stations with cells or sectors that havebeen engineered to be wholly within the gaming jurisdiction. Forexample, if a base station is close enough to pick up or send a signalacross state lines, it will not be able to communicate with the device.When a customer uses the device for gaming, the system may prohibit, ifdesired, the making or receiving voice calls. Moreover, voice can beeliminated entirely if required. Further, the devices may not be allowedto “connect” to the Internet. This ensures a high level of certaintythat bets/wagers originate and terminate within the boundaries of thegaming jurisdiction and the “private” wireless system cannot becircumvented or bypassed. Although in some embodiments some data and/orvoice traffic may be communicated at least partially over the Internet,the communication path may not include the Internet in otherembodiments. Alternatively, in some embodiments, certain non-gaminginformation may be transported over a path which includes the Internet,while other information relating to the gaming activities of the systemis transported on a path that does not include the Internet.

As shown in FIG. 3, a gaming communication device 32 is in communicationwith a gaming service provider over a network 34. The gaming serviceprovider preferably has one or more servers, on which are residentvarious gaming and other applications. As shown in FIG. 3, some examplegaming applications include horse racing and other sports, financialexchange, casino and/or virtual casino, entertainment and other eventsexchange, and news and real time entertainment. Each of theseapplications may be embodied in one or more software modules. Theapplications may be combined in any possible combination. Additionally,it should be understood that these applications are not exhaustive andthat other applications may exist to provide an environment to the userthat is associated with any of the described or potential activities.

In another embodiment, as shown in FIG. 4, for example, thecommunications network comprises a private wireless network. The privatewireless network may include, for example, an 802.11x (WiFi) networktechnology to cover “Game Spots” or “Entertainment Spots.” In FIG. 4,various WiFi networks are indicated as networks 41. Networks 41 may useother communications protocols to provide a private wireless networkincluding, but not limited to, 802.16x (WiMax) technology. Further,networks 41 may be interconnected. Also, a gaming system may comprise acombination of networks as depicted in FIG. 4. For example, there isshown a combination of private wireless networks 16, a cellular networkcomprising a multi-channel access unit or sectorized base station 42,and a satellite network comprising one or more satellites 46.

With respect to the private wireless network, because the technology maycover small areas and provide very high-speed throughput, the privatewireless network is particularly well-suited for gaming commission needsof location and identity verification for the gaming service providerproducts. The gaming spots enabled by networks 41 may include a currentcasino area 48, new areas such as swimming pools, lakes or otherrecreational areas 49, guest rooms and restaurants such as might befound in casino 48 or hotels 45 and 47, residential areas 40, and otherremote gaming areas 43. The configuration of the overall gaming systemdepicted in FIG. 4 is intended only as an example and may be modified tosuit various embodiments.

In some embodiments, the system architecture for the gaming systemincludes:

-   (1) a wireless LAN (Local Access Network) component, which consists    of mostly 802.11x (WiFi) and/or 802.16x WiMax technologies; robust    security and authentication software; gaming software; mobile    carrier approved handsets with Windows® or Symbian® operating    systems integrated within; and

(a) CD MA-technology that is secure for over-the-air data protection;

(b) at least two layers of user authentication, (that provided by themobile carrier and that provided by the gaming service provider);

(c) compulsory tunneling (static routing) to gaming servers;

(d) end-to-end encryption at the application layer; and

(e) state-of-the-art firewall and DMZ technologies;

-   (2) an MWAN (Metropolitan Wireless Access Network), which consists    of licensed and license-exempt, point-to-point links, as well as    licensed and license-exempt, point-to-multi-point technologies;-   (3) private MAN (Metropolitan Access Network) T1 and T3 lines to    provide connectivity where wireless services cannot reach; and-   (4) redundant private-line communications from the mobile switch    back to the gaming server.

Each of the “Game Spots” or “Entertainment Spots” is preferablyconnected via the MWAN/MAN back to central and redundant game servers.For accessing the private wireless networks 41, the gaming communicationdevices may be WiFi- or WiMax-enabled PDAs or mini-laptops, and do nothave to be managed by a third-party partner.

In various embodiments, the gaming system includes a locationverification feature, which is operable to permit or disable gaming froma remote location depending upon whether or not the location meets oneor more criteria. A criterion may be, for example, whether the locationis within a pre-defined area in which gaming is permitted by law. Asanother example, a criterion may be whether the location is in ano-gaming zone, such as a school. The location verification technologyused in the system may include, without limitation, “network-based”and/or “satellite-based” technology. Network-based technology mayinclude such technologies as multilateration, triangulation andgeo-fencing, for example. Satellite-based technologies may includeglobal positioning satellite (GPS) technology, for example.

As previously discussed, the cellular approach preferably includes theuse of at least one cellular, mobile, voice and data network. For gamingin certain jurisdictions, such as Nevada for example, the technology mayinvolve triangulation, global positioning satellite (GPS) technology,and/or geo-fencing to avoid the potential for bets or wagers to be madeoutside Nevada state lines. In some embodiments, the network would notcover all of a particular jurisdiction, such as Nevada. For instance,the network would not cover areas in which cellular coverage for aparticular base station straddled the state line or other boundary ofthe jurisdiction. This is done in order to permit the use of locationverification to insure against the chance of bets originating orterminating outside of the state. Triangulation may be used as a methodfor preventing gaming from unapproved locations. Triangulation may beaccomplished, for example, by comparing the signal strength from asingle mobile station received at multiple base stations, each havingGPS coordinates. This technology may be used to pinpoint the location ofa mobile station. The location can then be compared to a map or otherresource to determine whether the user of the mobile station is in anunapproved area, such as a school. Alternatively, GPS technology may beused for these purposes.

As shown in FIG. 5, the gaming system includes a plurality of gamingcommunication devices 54, 55, and 56. Device 54 is located outside thegaming jurisdiction 58. Devices 55 and 56 are both located inside gamingjurisdiction 58. However only device 56 is located within geo-fence 57,which is established by the coverage areas of a plurality of basestation 53. Thus, geo-fencing may be used to enable gaming via device 56but disable gaming via devices 54 and 55. Even though some gamingcommunication devices that are within the gaming jurisdiction 58, suchas device 55, are not permitted access to the gaming system, thegeo-fence 57 ensures that no gaming communication devices outsidejurisdiction 58, such as device 54, are permitted access.

Geo-fencing may not specify location. Rather, it may ensure that amobile station is within certain boundaries. For instance, geo-fencingmay be used to ensure that a mobile station beyond state lines does notaccess the gaming system.

Triangulation on the other hand may specify a pinpoint, ornear-pinpoint, location. For example, as shown in FIG. 5, device 56 istriangulated between three of the base stations 53 to determine thelocation of device 56. Triangulation may be used to identify whether adevice, such as a mobile station, is located in a specific spot wheregambling is unauthorized (such as, for example, a school). Preferably,the location determination technology utilized in conjunction with thepresent invention meets the Federal Communication Commission's (FCC's)Phase 2 E911 requirements. Geological Institute Survey (GIS) mapping mayalso be utilized to compare identified coordinates of a gamingcommunication device with GIS map features or elements to determinewhether a device is in an area not authorized for gaming. It should benoted that any type of location verification may be used such astriangulation, geo-fencing, global positioning satellite (GPS)technology, or any other type of location determining technology, whichcan be used to ensure, or provide an acceptable level of confidence,that the user is within an approved gaming area.

In various embodiments, location verification is accomplished usingchannel address checking or location verification using some otheridentifying number or piece of information indicative of which networkor portion of a network is being accessed by the gaming communicationdevice. Assuming the usage of an identifying number for this purpose,then according to one method of location checking, as an example, aparticipant accesses the gaming system via a mobile telephone. Theidentifying number of the mobile telephone, or of the network componentbeing accessed by the mobile telephone, identifies the caller'sconnection to the mobile network. The number is indicative of the factthat the caller is in a defined area and is on a certain mobile network.A server application may be resident on the mobile telephone tocommunicate this information via the network to the gaming serviceprovider. In a some embodiments, the identifying number or informationis passed from a first network provider to a second network provider.For example, a caller's home network may be that provided by the secondprovider, but the caller is roaming on a network (and in a jurisdiction)provided by the first provider. The first provider passes theidentifying information through to the second provider to enable thesecond provider to determine whether the caller is in a defined areathat does or does not allow the relevant gaming activity. In variousembodiments, the gaming service provider either maintains, or has accessto, a database that maps the various possible worldwide mobile networkidentifying numbers to geographic areas. Various embodiments contemplateusing any number or proxy that indicates a network, portion of anetwork, or network component, which is being connected with a mobiletelephone. The identifying number may indicate one or more of a basestation or group of base stations, a line, a channel, a trunk, a switch,a router, a repeater, etc.

In various embodiments, when the user connects his mobile telephone tothe gaming server, the gaming server draws the network identifyinginformation and communicates that information to the gaming serviceprovider. The software resident on the gaming communication device mayincorporate functionality that will, upon login or access by the user,determine the user's location (based at least in part on the identifyinginformation) and send a message to the gaming service provider. Theidentifying number or information used to determine location may becountry-specific, state-specific, town-specific, or specific to someother definable boundaries.

In connection with any of the location determination methods, the gamingsystem may periodically update the location determination information.This may be done, for example, during a gaming session, at pre-definedtime intervals to ensure that movement of the gaming communicationdevice to an unauthorized area is detected during play, and not justupon login or initial access.

Thus, depending on the location determination technology being used, thedecision whether to permit or prohibit a gaming activity may be made atthe gaming communication device, at the gaming server, or at any of thecomponents of the telecommunication network being used to transmitinformation between the gaming communication device and the gamingserver (such as at a base station, for example).

An aspect of the private wireless network related to preventing gamingin unauthorized areas is the placement of sensors, such as RadioFrequency Identification (RFID) sensors on the gaming communicationdevices. The sensors trigger alarms if users take the devices outsidethe approved gaming areas. Further, the devices may be “tethered” toimmovable objects. Users might simply log in to such devices using theirID and password.

In various embodiments, a gaming system may include the ability todetermine the location of the gaming communication device within alarger property, such as a casino complex. This may allow certainfunctionalities of the device to be enabled or disabled based upon thelocation of the device within the property. For example, governmentregulations may prohibit using the device to gamble from the guest roomsof a casino complex. Therefore, particular embodiments may include theability to determine the location of the device within the property andthen disable the gambling functionality of the device from a guest room,or other area where gambling is prohibited. FIG. 6 illustrates anexample of a wireless gaming system in which the location of a gamingcommunication device 604 may be determined in accordance variousembodiments.

As shown in FIG. 6, a wireless gaming system comprises a wirelessnetwork that at least partially covers casino complex 600 in which oneor more gaming communication devices 604 may be used to participate in avariety of gaming activities. The wireless network may comprise at leastthree signal detection devices 602, although various embodiments mayinclude fewer or greater than three signal detection. As shown in FIG.6, the wireless network comprises four signal detection devices 602,each located at one corner of casino complex 600. In variousembodiments, these signal detection devices may comprise wireless accesspoints, wireless routers, wireless base stations, satellites, or anyother suitable signal detection device. Furthermore, although signaldetection devices 602 are illustrated as being located on the boundariesof casino complex 600, signal detection devices may be located anywhereinside or outside of casino complex 600, provided the signal detectiondevices are operable to receive signals originating from a gamingcommunication device 604 inside casino complex 600. In variousembodiments, signal detection devices 602 may also be used to transmit,as well as receive, signals to gaming communication device 604.

In various embodiments, casino complex 600 may be divided into one ormore zones 608, which represent different areas of the casino complex,such as the lobby, guest rooms, restaurants, shops, entertainmentvenues, and pool areas. For example, as shown in FIG. 6, zone 608 a maycorrespond to the casino lobby, zone 608 b may correspond to guestrooms, zone 608 c may correspond to restaurants, and zone 608 d maycorrespond to the gaming floor of the casino. Each zone 608 may befurther divided into one or more sub-zones 606, each specifying aparticular location within zone 608. Sub-zones 606 may be arranged in agrid formation, each sub-zone 606 having a uniform size. In someembodiments, each sub-zone may comprise 9 square feet (i.e., 3 feet by 3feet). In some embodiments, each sub-zone may comprise 100 square feet(i.e., 10 feet by 10 feet). The choice of the size of an area covered bya sub-zone may depend on administrator preferences, technicallimitations of the wireless network, and governmental regulations, aswell as other considerations.

Particular embodiments may use this mapping of casino complex 600 into aplurality of zones 608 and sub-zones 606 to determine the location ofgaming communication device 604 within the complex. These embodimentsmay utilize the signal received by signal detection devices 602 fromgaming communication device 604 to determine the location of the device.

In various embodiments, the location of gaming communication device 604may be determined based upon the strength of the signal received by eachsignal detection device 602 from device 604. In various embodiments,this may be accomplished using a Received Signal Strength Indication(RSSI) value or any other suitable indication of signal strength.Generally, the closer a sub-zone is to a signal detection device, thestronger the signal the signal detection device will receive from agaming communication device located in that sub-zone. Therefore, given aplurality of signal strength readings taken from different points in thecasino complex (i.e., signal detection devices 602), these differentsignal strength readings may be used to determine the location of thedevice.

With this in mind, each sub-zone 606 of casino complex 600 may beassociated with a reference set of signal strengths received by thesignal detection devices from a device located in that particularsub-zone. Typically, these values are generated, and periodicallyrecalibrated, by taking a reference reading from a gaming communicationdevice located that sub-zone. After each sub-zone is associated with areference set of signal strengths, these reference signal strengths maybe compared with the signal strengths received by the signal detectiondevices from a gaming communication device. Since each sub-zone has aunique set of signal strengths, this comparison may be used to identifythe particular zone in which the gaming communication device is located.

In various embodiments, the location of gaming communication device 604may be determined based upon an elapsed time between the transmission ofthe signal from device 604 and the receipt of the signal by each signaldetection device 602. In various embodiments, this elapsed time may bedetermined based on a Time Difference of Arrival (TDOA), or any othersuitable technology. As before in the case of signal strengths, eachsub-zone 606 may be associated with a predetermined, or reference, setof elapsed times from transmission to receipt of a signal from a gamingcommunication device. This set of elapsed times will be different foreach sub-zone of the casino complex, as the time it takes a signal toreach each signal detection device will depend on the proximity of thesub-zone to each base station. By comparing the time from transmissionto receipt of a signal received by the signal detection devices from agaming communication device, the sub-zone in which the device is locatedmay be determined.

Once the location of the gaming communication device has beendetermined, particular embodiments may then enable and/or disableparticular functions of the device based on this determination. Forexample, as mentioned previously, particular embodiments may disable thegaming communication device's gambling functionality from a user's guestroom, while still allowing the user to use other device functions, suchas purchasing merchandise or services, or buying tickets to anentertainment event. Once the user leaves his or her guest room, thegambling functionality of the gaming communication device may beenabled. Similarly, particular embodiments may prevent the gamingcommunication device from being used to make financial transactions fromthe casino floor. Once the user leaves the casino floor, suchfunctionality may be enabled. Similarly, other functionalities of thegaming communication device may be enabled or disabled based upon thelocation of the device within the property in accordance with variousembodiments.

In various embdoiments, the various functionalities of the gamingcommunication device may be enabled or disabled based upon the zone 608in which the device is located. In such embodiments, each zone 608 ofthe casino complex may be associated with a set of allowed activities.For example, the “lobby” zone 608 a of the casino complex may have allactivities allowed, while the “guest room” zone 608 b of the propertymay have all activities allowed except gambling. Based upon the gamingcommunication device's location, the functionality of the gamingcommunication device may be limited to the set of allowed activities forthe zone in which the device is located. As the gaming communicationdevice travels from zone to zone, the location of the device may bere-determined, and the functionality of the device may be updated toreflect the set of allowed activities for the zone in which the deviceis now located.

Various embodiments may also use the location determination to sendlocation-specific information to the gaming communication device. Forexample, a reminder that an entertainment event to which the user hastickets is about to begin may be sent to the user's device if the device(and therefore the user) is located in a different part of the casinocomplex. In another embodiment, a user may be alerted that the usersfavorite dealer is on the casino floor if the user is located in his orher guest room.

In various embodiments, the location of the gaming communication devicemay be used to deliver goods and services purchased or ordered by theuser of the device. For example, in various embodiments, the user maypurchase food and beverages using the device. The location of the devicemay then be used to deliver the food and beverages to the user, even ifthe user relocates to another sub-zone after placing his or her order.

The determination of the gaming communication device's location may alsobe used to provide the user with directions to another part of thecasino complex. For example, a user that is located on the casino floorthat wishes to go to a specific restaurant within the complex may begiven direction based upon his or her location. These directions maythen be updated as the user progresses towards his or her desiredlocation. In the event the user gets off-course, the locationdetermination, which may be updated during the users travel, may be usedto alert the user that he/she has gotten off-course and then plot a newcourse to the desired destination.

It should be understood that the foregoing descriptions encompass butsome of the implementation technologies that may be used, according tovarious embodiments. Other technologies may be used and arecontemplated, according to various embodiments. Various embodiments maybe performed using any suitable technology, either a technologycurrently existing or a technology which has yet to be developed.

User Profiles

According to various embodiments, the wireless gaming system canincorporate a user profile element. One or more user profiles may becreated, maintained, and modified, for example, on one or more of theservers of the gaming system. Generally, the user profiles includeinformation relating to respective users. The information may bemaintained in one or more databases. The information may be accessibleto the gaming server and/or to one or more mobile devices. The deviceswhich may access the information may, according to certain embodiments,include gaming devices or gaming management devices. Gaming managementdevices may include wireless devices used by casino staff to providegaming services or gaming management services.

Various embodiments include software and/or hardware to enable theprovision, modification, and maintenance of one or more user profiles.Thus, one or more user profiles may each comprise a set of datamaintained in a data storage device. The data set(s) for each respectiveuser profile may reflect any of a number of parameters or pieces ofinformation, which relate to the particular user(s) corresponding to theprofile(s). Although not intended to be exhaustive, such information mayinclude, for example, gaming activity preferences, such as preferredgame and/or game configuration, preferred screen configuration, bettingpreferences, gaming location preferences, dining and other servicepreferences, and so forth. The information may also include useridentity information, such as name, home address, hotel name and roomnumber, telephone numbers, social security numbers, user codes, andelectronic files of fingerprint, voice, photograph, retina scan, orother biometric information. User profile information may also includeinformation relating to the user, but not determined by the user or theusers activities. Such information may include any informationassociated with, or made part of, a profile. For example, an entity suchas a casino, may include as part of a profile certain rules governingthe distribution of promotions or offers to the user. User profileinformation can include any codes, account numbers, credit information,approvals, interfaces, applications, or any other information which maybe associated with a user. Thus, user profile information may includeany information that is particular to a given user. For example, profileinformation may include the location(s) at which a particular user hasplayed, skill levels, success levels, types of games played, and bettingstyles, and trends of information relating to the user's activities.

In various embodiments, user profile information may include conciergeor other service information that is associated with a user. Conciergeservices may include restaurant services, entertainment services, hotelservices, money management services, or other appropriate services thatmay be offered to the user of a gaming device. For example, restaurantservices may include, without limitation, services that allow the userto order drinks, order food, make reservations, or perform otherrestaurant related activities. As another example, entertainmentservices may include, without limitation, services that allow the userto purchase show tickets, arrange appointments or services, virtuallyshop, arrange transportation, or perform other entertainment relatedactivities. Hotel services may include, for example, services that allowthe user to check in, check out, make spa appointments, check messages,leave messages, review a hotel bill, or perform other guest-relatedactivities. Money management services may include, for example, servicesthat allow the user to transfer funds, pay bills, or perform other moneymanagement activities.

The gaming system may be configured to establish a new profile for anyuser who is using a gaming device for the first time. Alternatively, anew profile may be established for a prior user who has not played for apredetermined time period.

The gaming system may set up the profile, monitor user activities,adjust the profile, and adjust information (such as graphics) displayedto the user. The gaming system may be configured to use the profileinformation to alter the presentation of gaming information to the user.For example, if a prior user has returned to the gaming system, thesystem may consult the profile for the user and determine that in theprior session of gaming the user lost money on craps but won money onblackjack. Based on this information, the system may adjust the defaultgaming screen and present a blackjack table for the user. As a furtherexample, the profile information may indicate that the majority of theuser's prior blackjack time was spent on $25 minimum tables. The systemmay, accordingly, make a further adjustment to the gaming environmentand make the blackjack table being presented a $25 table. In this sense,the gaming system enables personalized wireless gaming based on one ormore criteria maintained in a user profile.

The user profiles may be established, maintained, and periodicallyupdated as necessary to enable a gaming provider to provide an enhanced,current, and/or customized gaming experience. Updates may be undertakenbased on any suitable trigger, such as the occurrence of an event, theoccurrence of a user activity, or the passage of a certain predeterminedtime period. Any or all of the profile information may be updated.

Alerts

In some embodiments, the gaming system may be configured to initiate oneor more alerts to one or more users based on any number of criteria. Forinstance, an alert may be based on the location of a user. The systemmay also be configured to keep track of other non-location dependentparameters. The initiation of an alert may depend on a time parameter.Gaming alerts can also be based on this and/or other informationmaintained in a user profile. Alerts can be prioritized for presentationand the content and display of the alerts may be customized by the useror another entity. As a related concept, the system may be configured toprovide directions and/or maps. Another related concept involvesenabling a user to view a certain activity or area remotely. The alertmay be generated in response to the existence of data within a userprofile. Additionally, the content and presentation of the alert may bedetermined based on information in the user profile. Thus, when thealerts occur and what the alerts indicate may be customized or tailoredaccording to user preferences (or any other information maintained aboutthe user (e.g., in a user profile).

In some embodiments, an alert may be presented or displayed to the userin a format determined, at least in part, by any of the parametersdescribed or contemplated herein. For example, if the user is locatedoutdoors, the display may be automatically brightened in order to allowthe user to more easily view the alert. The alert may be presented inany one or a combination of textual, visual, oral, or other informationexchange formats. Alerts presented to users on the screen of a gamingcommunication device, for example, may be configured in any desirablemanner. Preferably, the information is displayed in a way as to mosteffectively utilize the screen real estate to convey the alert message.Thus, different alerts of differing types, or having differingpriorities, can be displayed differently on the gaming device. Forexample, a more important alert can be displayed as a popup whilesecondary alerts scroll at the bottom of the screen. The player canregister for alerts and determine his own particular alert configurationpreferences.

According to some embodiments, directional information may be providedto one or more users. The directional information may be associated withan alert. The directional information may be based on any of theparameters described herein (e.g., profiles, alerts, locations, changesin play or other activities, etc). Directions may be given toactivities, locations, seats, tables, recreational spots, restaurants,change cages, information booths, casinos, hotels, sports venues,theaters, etc. For example directions may be given to a particular tableor gaming area, a casino other than the one where the user is presentlylocated or where another user is located, a restaurant that is specifiedin a user profile, a sports book area of a casino, a hotel room, etc.

The directions can be presented orally, textually, and/or graphically(e.g., as map with zoom capabilities). An example of how directionswould be provided involves a user profile indicating that the user likesto play high-limit blackjack on Saturday nights, but that the user doesnot have a particular casino preference. If the user enters any casinofor which the system is operable, the system provides the user with analert inviting the player to the high-limit blackjack tables anddirectional information in the form of a visual route. Another exampleinvolves a user leaving a sports book in a casino and the user hasindicated that he wants to play craps. The device gives walkingdirections to the craps tables. Another example involves a user that hasa preferred list of dinner restaurants. At a predetermined time (e.g.,8:00 pm), the system presents the user with the list, lets the user makea selection and a reservation. The system then provides the user withverbal directions from the users current location to the selectedrestaurant. The system may also be configured to provide ancillaryinformation based, at least in part, on the alert, the profile, or thedirectional information being provided. For example, the system maynotify a user that the user will need a cab, or will need to take thetram, or will need a jacket and tie, or will need an umbrella, etc.depending on where the user is going and the route he is taking.

According to various embodiments, the system enables a user to view acertain activity or area remotely. For example, cameras (or otherviewing devices) may be disposed throughout a casino property (or otherrelevant area). At kiosks, or on the wireless gaming devices, users can“peek” into one or more selected areas to see the activity in theselected area(s). For example, from the pool, a user can tell if thecraps tables have changed limits or are filling up with people. From thecraps table, a user can see if the restaurant or bar is becomingcrowded.

According to various embodiments, the operation of the alerts module andthe alerts methods are integrated with various techniques for managinguser profile information. An example of this aspect is that the systemmay be configured to recognize that a user has certain preferred dealersor stickmen when playing certain casino games. When those dealers orstickmen are on duty, and if the user is located in a certain area, orwithin a certain distance, an alert may be sent inviting the user toparticipate in the gaming activity at the particular table where thedealer or stickman is on duty.

Thus, when user profile information indicates that a one or morepredetermined criteria are met, the system may send an alert to thecorresponding user or to another user. For example, the system may“learn” that a player is a fan of certain sports teams. The systemmonitors information about upcoming events that involve those teams and,at a predetermined time, checks to see if the user has placed a bet onthe event(s). If not, the system invites the user to visit a sports bookto make a bet. As another example, the system knows a user prefers $10minimum tables and alerts the user to the opening of a seat at such atable. As another example, the alerts can be triggered by informationwhich is not directly related to or associated with the particular user(e.g., non-user specific information). For instance an alert might betriggered by a certain time or the occurrence of a certain event (e.g.,the odds given on a certain sports event changing by a certainpredetermined amount).

Service Applications

According to various embodiments, gaming services may be provided as anapplication add-on to a pre-existing communication or data service.Thus, gaming service applications may be made available to customers ofa pre-existing communication or data service. For example, customers ofa particular wireless telephone or data service may be offered any oneor combination of the various gaming service applications discussedherein as an additional feature that is bundled with the telephone ordata service. Although this document may refer to the communicationservice bundled with offered gaming service applications as includingpre-existing communication services, it is recognized that the gamingservices applications may be offered and accepted as part of a packagewith newly-activated communications service plan. In still otherembodiments, the gaming service may be established first and thecommunication service may be added later.

The gaming service applications bundled with, or otherwise offered inconjunction with communication services, may be customized to meet theneeds of the customers, service providers, or both. For example, aservice provider may elect to make certain gaming service applicationsavailable to only a subset of the service providers' customers.Accordingly, not all customers associated with a service provider may beoffered gaming services. As an another example of customized gamingservice applications, a communication service may offer customers anumber of gaming service plans which may provide different levels ofservice. For example, certain services such as advertisement servicesand/or promotional services may be free to customers of thecommunications service. Such levels of service may be customer-selected,service provider-selected, or both.

Customers may be billed separately for add-on gaming services, or inconjunction with the invoice the customer already receives for thepre-existing communications service. For instance, in certainembodiments, gaming services may be billed as an add-on in the same waythat Caller ID services, call waiting services, and call messagingservices result in fees that are in addition to the basic feesassociated with communication services.

Peer-To-Peer Wireless Gaming

According to various embodiments, gaming services enable peer-to-peerwireless gaming. Specifically, the system may enable multiple players toparticipate in the same gaming activity at the same time from dispersedlocations. This may be particularly desirable in the case of certaingames such as, but without limitation, horse racing, poker, andblackjack. The system may also enable a single player to participate inmultiple positions with respect to a particular game. For example, auser may be permitted to play multiple hands of blackjack. Particularaspects include such features as providing assistance to a user infinding a particular activity. For example, a first player may want toplay poker at a six-person table. The gaming system may be used toidentify such a poker table that has a position available for the firstuser's participation. Additionally or alternatively, a first playermight want to play poker at the same table as a second player, and thesystem may be configured to assist the first player in finding a game inwhich the second player is already participating.

Location determination techniques may be incorporated to enablepeer-to-peer gaming or related services. For example, a “buddy network”may be established to track members of a selected group. For example, agroup of friends might all be in a gambling jurisdiction but be locatedat various dispersed places within that jurisdiction. The gaming systemallows the establishment of a private buddy network of peers for thisgroup of friends. The system enables one or more members of the group totrack one or more other members of the group. In various embodiments,the system may also allow messages from and to one or more groupmembers. For example, the system also allows members to invite othermembers to participate in certain wireless gaming activities.Additionally or alternatively, the system may allow members of the groupto bet on the performance of another member of the group who isparticipating in a virtual or actual game.

Location determination techniques may also be incorporate to establishan “alert system.” The alert system may be used to invite certain typesof players to participate in a gaming activity. Criteria may then beused to identify users of gaming devices that meet the criteria. Forexample, a gaming participant may wish to initiate a gaming activitywith other users of gaming devices that qualify as “high rollers” or“high stakes gamers.” As other examples, a celebrity user may wish toinitiate a gaming activity with other celebrities, or a senior citizenmay wish to initiate a gaming activity with other senior citizens. Ineach instance, the user may identify criteria that may then be used toidentify other gaming participants that meet these criteria for theinitiation of a peer-to-peer gaming event.

It should be understood that the foregoing descriptions encompass butsome of the implementation technologies that may be used, according tovarious embodiments. Other technologies may be used and arecontemplated, according to various embodiments. Various embodiments maybe performed using any suitable technology, either a technologycurrently existing or a technology which has yet to be developed.

Gaming and Wireless System

Various embodiments include a gaming system including hand-held personalgaming devices. The gaming system is adapted to present one or moregames to a user of one of the hand-held gaming devices.

In various embodiments, the gaming system includes a portable gamingdevice or interface. The portable gaming device has a display fordisplaying game information to a player, at least one input device forreceiving input from the player and is capable of receiving and sendinginformation to a remote device/location. The gaming system also includesa game server for generating game data, transmitting game data to theportable gaming device and receiving information, such as player input,from the portable gaming device. The gaming system further includes apayment transaction server for validating payment and establishingentitlement of a player to play a game via the portable gaming device asprovided by the game server.

In various embodiments, the gaming system includes one or morestationary gaming machines or other devices capable of printing ticketshaving a value associated therewith. The portable gaming device includesa ticket reader for reading ticket information for use by the paymenttransaction server in verifying the associated value for permitting theplayer to play the game.

In one or more embodiments, the portable gaming devices communicate withother devices (such as the game server) via a wireless communicationchannel. Appropriate relays and transceivers are provided for permittingthe wireless communication.

In one or more embodiments, the portable gaming device includes aplurality of interfaces for changing the configuration of the gamingdevice or interacting with one or more transaction servers. In someembodiments, a login interface is provided for receiving logininformation regarding a user of the device. In various embodiments, thenumber of interfaces or other functions or features displayed orpermitted to be accessed are configured depending upon the user of thedevice. In the event a gaming representative identifies himself,interfaces permitting access to a variety of control functions may beprovided. In the event a player identifies themselves, such controlfunctions may not be accessible, but instead only consumer-relatedfunctions may be accessible such as game play.

In one or more embodiments the gaming system includes one or moretransaction servers, such as a food transaction server. Using aninterface of the portable gaming device a player or other user mayrequest services from the food transaction server. For example, a playermay request food, drink, a restaurant reservation or other service.

One or more embodiments comprise a method of playing a game via aportable gaming device associated with a gaming network. In someembodiments, a player obtains a portable gaming device, such as bychecking out the device from the hostess station of a restaurant or thefront desk of a hotel/casino. The player provides value to the gamingoperator, such as a credit card or cash deposit. This value isassociated with the server and matched with a ticket number, playertracking number or other identifier.

The game device is configured for player play using the login interface.The act of logging in may be performed by the player or the gamingoperator. The player next establishes entitlement to obtain services,such as the playing of a game, by showing the existence of value. Insome embodiments, the player scans his ticket using the ticket reader ofthe device. The scanned information is transmitted to the paymenttransaction server for verifying entitlement of the player to play agame or obtain other services. In the event the entitlement is verified,then the player is permitted to engage in the play of a game or requestservice.

In the event a player wishes to play a game, the player indicates suchby selecting a particular game using a game play interface. Upon receiptof such an instruction, the game server generates game data andtransmits it to the personal gaming device. The transmitted data maycomprise sound and video data for use by the personal gaming device inpresenting the game. The player is allowed to participate in the game byproviding input to the game server through the personal gaming device.The game server determines if the outcome of the game is a winning orlosing outcome. If the outcome is a winning outcome, an award may begiven. This award may be cash value which is associated with theplayer's account at the payment transaction server. If the outcome is alosing outcome, then a bet or wager placed by the player may be lost,and that amount deducted from the player's account at the transactionserver.

FIG. 8 is a block diagram of a gaming system in accordance with variousembodiments.

As illustrated, the gaming system B20 includes a plurality of gamingmachines B22 a, B22 b, B22 c, B22 d, B22 e, B22 f, B22 g, B22 h, B22 i,B22 j. In some embodiments, these gaming machines B22 a, B22 b, B22 c,B22 d, B22 e, B22 f, B22 g, B22 h, B22 i, B22 j are of the stationarytype. In general, the gaming machines B22 a, B22 b, B22 c, B22 d, B22 e,B22 f, B22 g, B22 h, B22 i, B22 j are arranged to present one or moregames to a player. In various embodiments, the games are of the typerequiring the placement of a wager or bet and are of the type by which aplayer receiving a winning outcome is provided an award, such as amonetary award. These devices may comprise for example, video poker andslot machines. In addition, the gaming system B20 includes one or morehand-held, portable gaming devices (PGDs) B24. The PGD B24 is alsoarranged to present one or more games to a player, and as describedbelow, may be used as an access point for a variety of other services.The device referred to herein as a “personal gaming device” may bereferred to by other terminology, such as a portable gaming interface,personal game unit or the like, but regardless of the name of thedevice, such may have one or more of the characteristics herein.

In addition, in various embodiments, the PGD B24 is in communicationwith at least one gaming server B28. As described below, in variousembodiments, the one or more games which are presented via the PGD B24to the player are provided by the gaming server B28.

The gaming machines B22 a, B22 b, B22 c, B22 d, B22 e, B22 f, B22 g, B22h, B22 i, B22 j and each PGD B24 is in communication with a paymentsystem referred to herein as the “EZ-Pay” system. This system includes aserver B26 for receiving and transmitting information. In general, theEZ Pay system is utilized to accept payment from a player for theplaying of games and obtaining of other goods and services, and forpaying a player winnings or awards.

In the embodiments illustrated, the gaming system B20 includes otherservers B30, B32 for transmitting and/or receiving other information. Insome embodiments, one server B30 comprises a prize transaction server.Another server B32 comprises a food transaction server. In a someembodiments, information may be transmitted between the PGD B24 andthese servers B30, B32.

The EZ Pay system, according to various embodiments, will now bedescribed in more detail with reference to FIG. 9. The EZ Pay system mayconstitute an award ticket system which allows award ticket vouchers tobe dispensed in lieu of the traditional coin awards or reimbursementswhen a player wins a game or wishes to cash out. These tickets may alsobe used by gaming machines and other devices for providing value, suchas for payment of goods or services including as a bet or ante forplaying a game.

FIG. 9 illustrates some embodiments of such a system in block diagramform. As illustrated, a first group of gaming machines B22 a, B22 b, B22c, B22 d, and B22 e is shown connected to a first clerk validationterminal (CVT) B34 and a second group of gaming machines B22 f, B22 g,B22 h, B22 i, and B22 j is shown connected to a second CVT B36. All ofthe gaming machines print ticket vouchers which may be exchanged forcash or accepted as credit or indicia in other gaming machines. When theCVTs B34,B36 are not connected to one another, a ticket voucher printedfrom one gaming machine may only be used as indicia of credit in anothergaming machine which is in a group of gaming machines connected to thesame CVT. For example an award ticket printed from gaming machine B22 amight be used as credit of indicia in gaming machines B22 b, B22 c, B22d, and B22 e, which are connected to the common CVT B34, but may not beused in gaming machines B22 f, B22 g, B22 h, B22 i, and B22 j since theyare each connected to the CVT B36.

The CVTs B34,B36 store ticket voucher information corresponding to theoutstanding ticket vouchers that are waiting for redemption. Thisinformation is used when the tickets are validated and cashed out. TheCVTs B34,B36 store the information for the ticket vouchers printed bythe gaming machines connected to the CVT. For example, CVT B34 storesticket voucher information for ticket vouchers printed by gamingmachines B22 a, B22 b, B22 c, B22 d, and B22 e. When a player wishes tocash out a ticket voucher and the CVTs B34,B36 are not connected to oneanother, the player may redeem a voucher printed from a particulargaming machine at the CVT associated with the gaming machine. To cashout the ticket voucher, the ticket voucher is validated by comparinginformation obtained from the ticket with information stored with theCVT. After a ticket voucher has been cashed out, the CVT marks theticket as paid in a database to prevent a ticket voucher with similarinformation from being cashed multiple times.

Multiple groups of gaming machines connected to the CVTs B34,B36 may beconnected together in a cross validation network B38. The crossvalidation network typically comprises one or more concentrators B40which accept input from two or more CVTs and enables communications toand from the two or more CVTs using one communication line. Theconcentrator B40 is connected to a front end controller B42 which maypoll the CVTs B34,B36 for ticket voucher information. The front endcontroller B42 is connected to an EZ pay server B26 which may provide avariety of information services for the award ticket system includingaccounting B44 and administration B46.

The cross validation network allows ticket vouchers generated by anygaming machine connected to the cross validation network to be acceptedby other gaming machines in the cross validation network B38.Additional, the cross validation network allows a cashier at a cashierstation B48, B50, B52 to validate any ticket voucher generated from agaming machine within the cross validation network B38. To cash out aticket voucher, a player may present a ticket voucher at one of thecashier stations B48, B50, B52. Information obtained from the ticketvoucher is used to validate the ticket by comparing information on theticket with information stored on one of the CVTs B34,B36 connected tothe cross validation network B38. As tickets are validated, thisinformation may be sent to another computer B54 providing auditservices.

As described above, the gaming system B20 may also include one or morehand-held PG Ds B24. In various embodiments, the PGD B24 is a portabledevice capable of transmitting and receiving information via a wirelesscommunication link/network.

Referring again to FIG. 8, the gaming system B20 may include a printerB56, wireless communication relays B58 and B60, and wirelesstransceivers B62, B64, B66 and B68 connected to the remote transactionservers B26, B28, B30 and B32. In various embodiments, a player mayobtain the PGD B24, and after being provided with the appropriateauthority, may play one or more games and/or obtain other servicesincluding food services or accommodation services.

FIG. 10 illustrates the PGD B24 and a block diagram of a game andservice system which may be implemented by the gaming system B20illustrated in FIG. 8. In various embodiments, the game and servicesystem B100 is comprised of at least one PGD B24 and a number of inputand output devices. The PGD B24 is generally comprised of a displayscreen B102 which may display a number of game service interfaces B106.These game service interfaces B106 are generated on the display screenB102 by a microprocessor of some type (not shown) within the PGD B24.Examples of a hand-held PGD B24 which may accommodate the game serviceinterfaces B106 shown in FIG. 10 are manufactured by SymbolTechnologies, Incorporated of Holtsville, N.Y. The interface or menudata may be stored in a local memory, or the data may be transmitted tothe PGD B24 from a remote location (such as a data server). This reducesthe memory requirement of the device.

The game service interfaces B106 may be used to provide a variety ofgame service transactions and gaming operations services, including thepresentation for play by a user of one or more games. The game serviceinterfaces B106, including a login interface B105, an input/outputinterface B108, a transaction reconciliation interface B110, a ticketvalidation interface B115, a prize services interface B120, a foodservices interface B125, an accommodation services interface B130, agaming operations interface B135, and a game play interface B137 may beaccessed via a main menu with a number of sub-menus that allow a gameservice representative or player to access the different display screensrelating to the particular interface.

In one or more embodiments, some or all of the interfaces may beavailable to a user of the PGD B24. For example, in one or moreembodiments, the PGD B24 may have a dual purpose of both being usable bya player to play games and engage in other activities, and also be usedby gaming operations personnel for use in providing services to playersand performing administrative functions. In various embodiments, certainPGDs B24 may be specially configured for use only by players, and otherPGDs B24 may be specially configured for use only by gaming or otherpersonnel. In such event, the interfaces B106 may be custom programmed.

In one or more embodiments, only certain interfaces B106 may bedisplayed, depending on the status of the user of the PGD B24. In someembodiments, the particular interfaces B106 which are displayed and thusaccessible for use are determined by the status of the user as indicatedthrough a login function. In various embodiment, when the PGD B24 isoperable (such as when a power button is activated) the default statusfor the PGD B24 is the display of the login interface B105. Once a userof the PGD B24 has logged in, then the status of the PGD display ischanged.

In one or more embodiments, the login interface B105 may allow a gameservice representative to enter a user identification of some type andverify the user identification with a password. When the display screenB102 is a touch screen, the user may enter the user/operatoridentification information on a display screen comprising the logininterface B105 using an input stylus B103 and/or using one or more inputbuttons B104. Using a menu on the display screen of the login interface,the user may select other display screens relating to the login andregistration process. For example, another display screen obtained via amenu on a display screen in the login interface may allow the PGD B24 toscan a finger print of the game service representative foridentification purposes or scan the finger print of a game player.

In the event a user identifies themselves as a gaming operator orrepresentative, then the PGD B24 may be arranged to display one or moreother interfaces such as those listed above and described in detailbelow. In one or more embodiments, the default status or login may be a“player” mode login.

In various embodiments, the login interface B105 may allow a player toidentify themselves to configure the PGD B24 to permit the player toaccess a plurality of player services, such as playing games and thelike. In various embodiments, the login interface B105 includes arequest that the user identify themselves as a “player” or “authorizedpersonnel.” In the event “authorized personnel” is selected, then theabove-referenced user identification (including password) may berequested. If “player” is selected, then in various embodiments theplayer is requested to provide an EZ pay ticket. As described in moredetail below, in various embodiments, a player who wishes to play one ormore games or obtain other goods or services uses an EZ pay ticket toprovide the credit or payment therefor. The ticket may be obtained froma cashier or by play of another gaming device (such as devices B22 a,B22 b, B22 c, B22 d, B22 e, B22 f, B22 g, B22 h, B22 i, B22 j in FIG.8). The ticket may be verified through the EZ pay system describedabove.

In various embodiments, the PGD B24 includes a ticket reader B145 and acard reader B140. In some embodiments, the ticket reader B145 may be ofa variety of types. In some embodiments, the reader comprises a bar-codereading optical scanner. In this arrangement, a user of the PGD B24 maysimply pass the bar-coded ticket in front of the bar-code reader. Insome embodiments, the card reader B140 comprises a magnetic-stripe cardtype reader for reading information associated with a magnetic stripe ofa card, such as a player tracking card.

After having provided the appropriate authorization, access may beprovided to the user of the PGD B24 of one or more of the followinginterfaces B106.

In one or more embodiments, an authorized user may be provided withaccess to the input/output interface B108. In a various embodiments,such access is only provided to a game service operator and not aplayer. In one or more embodiments, the input/output interface B108permits a user to select, from a list of devices stored in memory on thePGD B24, a device from which the PGD may input game service transactioninformation or output game service transaction information. For example,the PGD B24 may communicate with the ticket reader B145. As anotherexample, the PGD B24 may input information from the card reader B140.Such input may be useful, for example, if a game service operator wishesto verify the authenticity of a player tracking card or the like.

The PGD B24 may output game and service transaction information to anumber of devices. For example, to print a receipt, the PGD B24 mayoutput information to a printer B150. In this game service transaction,the PGD B24 may send a print request to the printer B150 and receive aprint reply from the printer B150. The printer B150 may be a largedevice at some fixed location or a portable device carried by the gameservice representative. As another example, the output device may be thecard reader B140 that is able to store information on a magnetic card orsmart card. Other devices which may accept input or output from the PGDB24 are personal digital assistants, microphones, keyboard, storagedevices, gaming machines and remote transaction servers.

The PGD B24 may communicate with the various input mechanisms and outputmechanisms using both wire and wire-less communication interfaces. Forexample, the PGD B24 may be connected to the printer B150 by a wireconnection of some type. However, the PGD B24 may communicate with aremote transaction server B160 via a wire-less communication interfaceincluding a spread spectrum cellular network communication interface. Anexample of a spread spectrum cellular network communication interface isSpectrum 24 offered by Symbol Technologies of Holtsville, N.Y., whichoperates between about 2.4 and 2.5 Gigahertz. The informationcommunicated using the wire-less communication interfaces may beencrypted to provide security for certain game service transactions suchas validating a ticket for a cash pay out. Some devices may accommodatemultiple communication interfaces. Such a spread spectrum network is butone possible communication scheme.

Another type of interface that may be stored on the PGD B24 is the awardticket validation interface B115. In some embodiments, this interface isonly available to an authorized game service representative, and not aplayer. Some embodiments of the award ticket interface B115 mayaccommodate the EZ pay ticket voucher system and validate EZ pay ticketsas previously described. However, when other ticket voucher systems areutilized, the award ticket validation interface B115 may be designed tointerface with the other ticket voucher systems. Using the award ticketvalidation interface B115, a game service representative may readinformation from a ticket presented to the game service representativeby a game player using the ticket reader and then validate and pay outan award indicated on the ticket.

In various embodiments, the award ticket contains game servicetransaction information which may be verified against information storedon a remote transaction server B160. To validate the ticket may requirea number of game service transactions. For example, after obtaining gameservice transaction information from the award ticket, the PGD B24 maysend a ticket validation request to the remote transaction server B160using the spread spectrum communication interface and receive a ticketvalidation reply from the remote server B160. In particular, thevalidation reply and the validation request may be for an EZ pay ticket.After the award ticket has been validated, the PGD B24 may send aconfirmation of the transaction to the remote server B160. Details ofthe game service transaction information validation process aredescribed with the reference to FIG. 12. In various embodiments, theaward ticket interface may be configured to validate award informationfrom a smart card or some other portable information device or validateaward information directly from a gaming machine.

As game and service transactions are completed, game and servicetransaction information may be stored on a storage device B155. Thestorage device B155 may be a remote storage device or a portable storagedevice. The storage device B155 may be used as a back-up for auditingpurposes when the memory on the PGD B24 fails and may be removable fromthe PGD B24.

A type of game service interface that may be stored on the PGD B24 isthe prize service interface B120. As an award on a gaming machine (i.e.,machines B22 a, B22 b, B22 c, B22 d, B22 e, B22 f, B22 g, B22 h, B22 i,B22 j in FIG. 8) or while playing a game via the PGD B24, a game playermay receive a ticket (such as issued by other machine) that isredeemable for merchandise including a bicycle, a computer or luggage orreceive such an award directly (such as while playing the PGD B24itself). Using the prize service interface B120, a game servicerepresentative or player may validate the prize service ticket and thencheck on the availability of certain prizes. For example, when the prizeservice ticket indicates the game player has won a bicycle, the gameservice representative may check whether the prize is available in anearby prize distribution center. Alternatively, a player may bepermitted to do the same thing. In some embodiments, a player may beawarded a prize of a particular level, there being one or moreparticular prizes on that level. In such events, the player may use theinterface B120 to determine what prizes are currently available in theprize level just awarded. The PGD B24 may validate a prize ticket andcheck on the availability of certain prizes by communicating with aremote prize server. Further, the game service representative may havethe prize shipped to a game player's home or send a request to have theprize sent to a prize distribution location. The game servicetransactions needed to validate the prize ticket including a prizevalidation request and a prize validation reply, to check on theavailability of prizes and to order or ship a prize may be implementedusing various display screens located within the prize interface. Thedifferent prize screens in the prize service interface B120 may beaccessed using a menu located on each screen of the prize serviceinterface. In some embodiments, the prize service interface B120 may beconfigured to validate prize information from a smart card or some otherportable information device or validate award information directly froma gaming machine.

A type of game service interface that may be stored on the PGD B24 isthe food service interface B125. As an award on a gaming machine or ascompensation for a particular amount of game play, a game player mayreceive a free food or drink. Using the food service interface B125, theplayer may redeem the food or drink award, or a game servicerepresentative may validate such an award (for example, the award may beprovided to a player of a gaming device B22 a in the form of a ticket)and check on the availability of the award. For example, when the gameplayer has received an award ticket valid for a free meal, the foodservice interface may be used to check on the availability of a dinnerreservation and make a dinner reservation. As another example, the PGDB24 may be used to take a drink or food order by the player thereof.Such an order may be processed via the remote food server B32 (see alsoFIG. 8). The transactions needed to validate a food ticket or award, tocheck on the availability of food services, request a food service andreceive a reply to the food service request may be implemented usingvarious display screens located within the food service interface B125.These display screens may be accessed using a menu located on eachscreen of the food service interface. In some embodiments, the foodservice interface may be configured to validate food service informationfrom a smart card or some other portable information device.

Another type of game service interface that may be stored on the PGD B24is an accommodation service interface B130. As an award for game play oras compensation for a particular amount of game play, a game player mayreceive an award in the form of an accommodation service such as a roomupgrade, a free night's stay or other accommodation prize. using theaccommodation service interface B130, the player may check on theavailability of certain accommodation prizes. For example, when the gameplayer has received an award for a room upgrade, the accommodationservice interface may be used to check on the availability of a room andto make a room reservation. Regardless of whether the player has won anaccommodation award, the player may utilize the accommodation serviceinterface B130 to reserve a room (such as an additional night's stay) oran upgrade to a room. In some embodiments, a player of a game may beissued a ticket (such as from a free-standing game device B22 a, B22 b,B22 c, B22 d, B22 e, B22 f, B22 g, B22 h, B22 i, B22 j in FIG. 8), and agaming representative may use the accommodation service interface B130in order to validate the player's award ticket and check on theavailability of the award and institute the award. As another example,the PGD B24 may be used to order a taxi or some other form oftransportation for a player at a gaming machine preparing to leave thegame playing area. The game playing area may be a casino, a hotel, arestaurant, a bar or a store.

The PGD B24 may validate the accommodation service award and check onthe availability of certain accommodation awards by communicating with aremote accommodation server. The transactions needed to validate theaccommodation ticket, check on the availability of accommodationservices, request an accommodation service and receive a reply to theaccommodation service request may be implemented using various displayscreens located within the accommodation service interface. Thesedisplay screens may be accessed using a menu located on each screen ofthe accommodation service interface. In some embodiments, theaccommodation service interface may be configured to validateaccommodation service information from a smart card or some otherportable information device.

A type of game service interface that may be stored on the PGD B24 is agaming operations service interface B135. Using the gaming serviceinterface B135 on the PGD B24, a game service representative may performa number of game service transactions relating to gaming operations. Forexample, when a game player has spilled a drink in the game playingarea, a game service representative may send a request to maintenance tohave someone clean up the accident and receive a reply from maintenanceregarding their request. The maintenance request and maintenance replymay be sent and received via display screens selected via a menu on thescreens of the gaming operations service interface. As another example,when a game service representative observes a damaged gaming machinesuch as a broken light, the game service representative may send amaintenance request for the gaming machine using the PGD B24. In one ormore embodiments, a player may be permitted various options through thegaming service interface B135. For example, a player may be permitted torequest a gaming service representative or attendant using the interfaceB135.

A type of game service interface that may be stored on the PGD B24 is atransaction reconciliation interface B110. In various embodiments, thePGD B24 contains a memory storing game service transaction information.The memory may record the type and time when a particular game servicetransaction is performed. At certain times, the records of the gameservice transactions stored within the PGD B24 may be compared withrecords stored at an alternate location. For example, for an awardticket validation, each time an award ticket is validated and paid out,a confirmation is sent to a remote server B160. Thus, informationregarding the award tickets, which were validated and paid out using thePGD B24, should agree with the information regarding transactions by thePGD stored in the remote server B160. The transaction reconciliationprocess involves using the transaction reconciliation interface B110 tocompare this information. In various embodiments, only a gaming servicerepresentative (and not a player) is permitted access to the transactionreconciliation interface B110.

A type of game service interface that may be stored on the PGD B24 is avoice interface B138. Using the spread spectrum cellular or othercommunication network incorporated into the PGD, a player and/or gameservice representative may use the PGD B24 as a voice communicationdevice. This voice interface B138 may be used to supplement some of theinterfaces previously described. For example, when a game player spillsa drink the game service representative may send maintenance request andreceive a maintenance reply using the voice interface B138 on the PGDB24. As another example, when a game player requests to validate a foodservice such as free meal, such a request may be made by the player or agame service representative at a restaurant or other location using thevoice interface B138 on the PGD B24. In some embodiments, a player maybe permitted to contact a player of another PGD B24, such as byinputting a code number assigned to the PGD B24 through whichcommunication is desired. Such would permit, for example, a husband andwife using two different PGDs B24 to communicate with one another. Thevoice interface B138 may also permit a player to contact the front deskof a hotel/casino, an operator of a switchboard at the gaming locationor the like.

A type of game service interface that may be stored on the PGD B24 is agame play interface B137. In various embodiments, a player is permittedto access the game play interface B137 in order to select from one ormore games for play.

The game play interface B137 may include a menu listing one or moregames which the player may play via the PGD B24. In various embodiments,game play is facilitated with the game server B28 (see FIG. 8).

In one or more embodiments, the gaming control code is not resident atthe PGD B24, but instead at a secure, remote server. Referring to FIG.8, game play data is transmitted from the game server B28 to the PGDB24, and from the PGD B24 to the game server B28. Preferably, the PGDB24 is adapted to receive and process data, such as by receiving videodata and processing the data to present the information on the displayB102. Likewise, the PGD B24 is arranged to accept input and transmitthat input or instruction to the game server B28. This arrangement hasthe benefit that nearly all aspects of the play of a game can bemonitored, as it requires the game play data to pass to or from a remotelocation. This avoids, for example, storage of the gaming software atthe PGD B24 where it might be tampered with, copied or the like.

In one or more embodiments, each PGD B24 has a unique identifier whichis utilized to identify which PGD B24 data is transmitted from and towhich data is to be transmitted to. In some embodiments, the game serverB28 may thus be used to present the same or different games to aplurality of players using different PGDs B24, with the game dataregarding a particular game being played at a particular PGD B24 beingdirected to that PGD B24 using its particular identifier.

As will be appreciated by those of skill in the art, the PGD B24 mayhave a variety of configurations. As stated above, the PGD B24 may beused in the gaming system B20 in which gaming code is not storeddirectly at the PGD. In such an embodiment, the PGD B24 may have a muchmore limited amount of data memory. In some embodiments, the PGD B24includes a processor for executing control code, such as that necessaryto operate the display B102, accept input from the stylus B103 or inputbuttons B104 or the like. In addition, the PGD B24 preferably includes abuffer memory for accepting data transmitted from the game server B28.This data may comprise data for displaying game information, such asvideo and sound content.

Various aspects of the use of the PGD B24 described above will now bedescribed. In one or more embodiments, the PGD B24 may be used directlyby a player. In various embodiments, a player may use the PGD B24 toplay one or more games, and obtain products and services, such as food.

A method of use of the PGD B24, according to some embodiments, isillustrated in FIGS. 11(a) and 11(b). In general, a player must firstobtain a PGD B24. For example, a player may check out a PGD B24 from agaming operator. The player then establishes entitlement to use the PGDB24. In some embodiments, the player must indicate player status at thelogin interface, and obtain a valid ticket in order to activate the PGDB24. Once activated, the player is permitted to engage in a variety oftransactions using the interfaces B106, such as playing a game,redeeming prizes and awards, placing food and drink orders, placingreservations, seeking gaming operator support and seeking a variety ofother goods and services as described in more detail below.

One example of a method of use of the PGD B24 by a player will bedescribed with reference to FIG. 11(a). In a first step B400, the playerfirst obtains the PGD B24. In some embodiments, a gaming operator mayhave certain locations at which a player may obtain the PGD B24, such asthe front desk of a hotel/casino, the hostess stand at a restaurant,from a gaming attendant or other location as desired. In someembodiments, a gaming operator may actually permit a player to retainthe PGD B24, such as by renting, selling or giving the PGD B24 away to aplayer.

In a step B402, the PGD B24 is activated. In some embodiments, this stepincludes turning on the PGD B24 (such as with a power switch) andlogging in. In some embodiments, when the PGD B24 is turned on, thelogin interface B105 is automatically displayed. The login interfaceB105 may include “player” and “authorized personnel” buttons which maybe activated using the stylus B103. The player may indicate “player”status by selecting the player button with the stylus B103.

In some embodiments, the gaming operator may log the player in. Forexample, when a player obtains the PGD B24 from a hostess at arestaurant, the hostess may log in the player in player mode. In someembodiments, the gaming operator may have certain PG Ds B24 which arefor use by players and certain others which are for use by gamingpersonnel. In such event, the PGDs B24 which are configured for playerstatus may automatically be configured for player mode after beingturned on.

In a step B404, a player establishes entitlement to use the PGD B24. Insome embodiments, this step comprises the player providing a validticket which is verifiable using the EZ pay portion of the gaming systemB20. In some embodiments, a player may have obtained a ticket throughplay of a gaming machine, such as gaming machines B22 a, B22 b, B22 c,B22 d, B22 e, B22 f, B22 g, B22 h, B22 i, B22 j of the gaming systemB20. In some embodiments, a player may be issued a ticket by a gameservice representative. For example, a player may provide credit at acashier cage (such as with a credit card or cash) and be issued aticket. A player may also pay cash or the like to a restaurant hostessand be issued a ticket.

Once the player has a ticket, the ticket may be scanned using the ticketreader B145 of the PGD B24. For example, the player may pass the ticketin front of the ticket reader B145. Once the information is read by thePGD B24, the data may be transmitted to the EZ pay server B26 forvalidation. Preferably, this validation confirms that the particularticket is authorized, including the fact that it is outstanding and hasvalue associated therewith.

In one or more embodiments, entitlement may be established in othermanners. For example, in some embodiments, entitlement may beestablished with a player tracking or identification card which may beread using the card reader B140 of the PGD B24.

Establishing entitlement to use the PGD B24 may ensure that the playerhas funds for paying to obtain services and products available by use ofthe PGD B24. In one or more embodiments, however, this step may beeliminated. For example, in some embodiments, a player may be permittedto use the PGD B24 and then pay for goods or services in other manners.In some embodiments, a player may, for example, order food and then paythe server for the food using a room charge or cash at the time the foodis delivered. In some embodiments, a player may use a credit card to payto play games or to pay for food or the like. In such event, a creditcard may be read by the card reader B140 at the time the services orproducts are to be provided or are ordered by the player.

In a step B406, the player is then permitted to select one or moreselections from the interfaces B106. As stated above, a player may notbe permitted access to all of the interfaces B106. In any event, aplayer may select, such as with the stylus B103, a service from thegroup of interfaces B106. An example of the engagement of a particularactivity using the PGD B24 will be described below with reference toFIG. 11(b).

Once a player no longer desires to engage in any more activities usingthe PGD B24, the use session of the PGD B24 is ended in a step B408, andin one or more embodiments, the PGD B24 is returned to the gamingoperator. In various embodiments, once a player no longer wishes to usethe PGD B24, the player returns the PGD B24 to the gaming operator. Atthat time, the gaming operator may confirm that all transactions usingthe PGD B24 are closed or complete, and pay the player any winnings. Insome embodiments, a player B24 is issued a new ticket representing theplayer's credit (including any payments made in order to first use thePGD B24, plus any winnings, less any expenditures).

An example of a method of using the PGD B24 wherein the player hasselected the option of game play using the game play interface B137 willbe described in detail with reference to FIG. 11(b). In a step B410(which step comprises a particular embodiment of step B406 of FIG.11(a)), a player has selected the event or service of “game play” usingthe game play interface B137.

In some embodiments, when a player has selected the game play interfaceB137, a menu may be displayed to the player of the one or more gameswhich the player may be permitted to play. In some embodiments, when theplayer selects the game play interface B137, a signal is transmittedfrom the PGD B24 to the remote game server B28 instructing the gameserver B28 that the player wishes to play a game. In response, the gameserver B28 may send the latest game menu to the PGD B24 for display. Inthis arrangement, the menu of games which is available may becontinuously updated at one or more central locations (such as theserver B28) instead of at each PGD B24.

If the system B20 permits the player to select a game from a menu ofgames, then the method includes the step of the player selecting aparticular game to be played. Once a game is selected, or if only asingle game option is provided, then game play begins. In someembodiments, the game server B28 transmits data to the PGD B24 for useby the PGD B24 in presenting the game, such as video and audio content.

In some embodiments, in a step B412 a player is required to place a betor ante to participate in a game. In some embodiments, the player mayplace the bet or ante using the EZ pay system. As stated above, theplayer preferably establishes entitlement to use the PGD B24 with an EZpay ticket or other entitlement, which ticket demonstrates that theplayer has monies or credits on account which may be used to pay forgoods and services. These services include game play services.

In some embodiments, when the player establishes entitlement to use thePGD B24, the value of the player's credits or monies are displayed tothe player so that the player is visually reminded of these amounts.When a player begins play of a game, the player may input a bet and antewhich is no more than the value of the credits or monies which theplayer has on account. Once a player has placed a bet or ante, thatinformation is transmitted to the EZ pay server B26 and is deducted fromthe player's account. A new credit value is then displayed at the PGDB24 to the player.

In various embodiments, a player may provide credit for a bet or ante inother manners. For example, a player may swipe a credit card through thecard reader B140 in order to provide the necessary credit for the bet orante.

In a step B414, the player is then permitted to engage in the game. Insome embodiments, game play comprises the game server B28 executing gamecode and transmitting information to the PGD B24 for presenting certainaspects of the game to the player. When necessary, the player ispermitted to provide input, and the input data is transmitted from thePGD B24 to the game server B28.

As one example of a game, the game may comprise video poker. In thisembodiment, the game server B28 executes code for randomly generating orselecting five cards. Data representing video images of the cards istransmitted to the PGD B24, where the images of the five dealt cards aredisplayed on the display screen B102.

The instruction “draw” or “stay” may be displayed to the player. At thattime, the player may select one or more of the cards to hold or replace.In the event the player elects to replace any card, that instruction istransmitted to the game server B28 which then randomly generates orselects replacement cards. The replacement card data is transmitted tothe PGD B24 and images of the replacement cards are displayed.

In the event the hand of five cards (including any replacement cards) isdetermined by the game server B28 to comprise a predetermined winninghand, then the player may be paid a winning amount. If not, then theplayer loses his bet or ante. This step comprises step B416 of themethod, that of determining the outcome of the game.

If the outcome is a winning outcome, then the player may be paid awinning by crediting the player's account through the EZ pay server B26.In that event, the player's credits value as displayed is updated toreflect the player's winnings.

A player may then elect to play the game again, play a different game,or select one or more other services offered. In some embodiments, a“return to main menu” button or the like may be displayed to the playerat all times, permitting the player to return to a display including thevarious interfaces B106.

In some embodiments, when the player has completed use of the PGD B24,the player returns the PGD B24 to the gaming operator. For example, theplayer may return the PGD B24 to a cashier cage or a game serviceoperator. In various embodiments, the game service operator or otherparty then issues the player a ticket for any credit or value whichremains in the player's account. The PGD B24 may then be deactivated sothat it readied for use by another player. In some embodiments, the PGDB24 may be deactivated by turning its power off. In some embodiments, a“logout” interface or option may be provided which causes the PGD B24 toreturn to a default state seeking the login of a player or user.

The PGD B24 may be used by a game service operator. Several examples ofa method of such use are detailed below in conjunction with FIGS. 8 and9.

When a game service representative contacts a game player seeking a gameservice in the game playing area B70 (see FIG. 8), the game servicerepresentative uses an appropriate game service interface on the displayscreen of the PGD B24, as described with reference to FIG. 10, toprovide the game service requested by the game player. For example, whena game player requests an EZ pay ticket validation, the game servicerepresentative brings the EZ pay ticket validation interface onto thedisplay screen of the PGD B24 using menus available on the displayscreen B102. Then, the game service representative scans the EZ payticket using a ticket reader connected to the PGD B24 to obtain uniqueticket information. Next, the PGD B24 sends an EZ pay ticket validationrequest using the wire-less communication interface to the EZ pay serverB26.

In various embodiments, the ticket validation request is composed of oneor more information packets compatible with the wire-less communicationstandard being employed. Using a wireless link B72, the one or moreinformation packets containing the ticket validation request are sent tothe transceiver B62 connected to the EZ pay server. The transceiver B62is designed to receive and send messages from the one or more PG Ds B24in the game playing area B70 in a communication format used by the PGDs.Depending on the location of the PGD B24 in the game playing area B70,the communication path for the information packets to and from the PGDB24 may be through one or more wire-less communication relays includingB58 and B60. For example, when the PGD B24 is located near gamingmachine B22 a, the communication path for a message from the PGD B24 tothe EZ pay server B26 may be from the PGD B24 to the relay B60, from therelay B60 to the relay B58, from the relay B58 to the transceiver B62and from the transceiver B62 to the EZ pay server B26. As the locationof the PGD B24 changes in the game playing area B70, the communicationpath between the PGD B24 and the EZ pay server B26 may change.

After receiving an EZ pay ticket validation reply from the EZ pay serverB26, the EZ pay ticket may be validated using an appropriate displayscreen on the PGD B24. After cashing out the ticket, the game servicerepresentative may send a confirmation of the transaction to the EZ payserver B26 using the PGD B24. The transaction history for the PGD B24may be stored on the PGD B24 as well as the EZ pay server B26. Next, areceipt for the transaction may be printed out. The receipt may begenerated from a portable printer carried by the game serverrepresentative ad connected to the PGD B24 in some manner or the receiptmay be generated from a printer B56 at a fixed location.

After providing a number of game services comprising a number of gameservice transactions to different game players in the game playing areaB70 using the PGD B24, a game service representative may log-off of thePGD B24 and return it to location for secure storage. For example, atthe end of a shift, the game service representative may check the PGDB24 at some of the locations, the device is unassigned to the particulargame service representative and then may be assigned to another gameservice representative. However, before the PGD B24 is assigned toanother game service representative, the transaction history stored onthe PGD B24 may be reconciled with a separate transaction history storedon a transaction server such as the EZ pay server B26.

The assigning and unassigning of the PGD B24 to a game servicerepresentative and the transaction reconciliation are performed forsecurity and auditing purposes. Another security measure which may beused on the PGD B24 is a fixed connection time between the PGD B24 and atransaction server. For example, after the PGD B24 has been assigned toa game service representative and the game service representative haslogged on the PGD B24, the PGD B24 may establish a connection with oneor more transaction servers including the EZ pay server B26, a serverB28, a server B30, or a server B32. The connection between a transactionserver and the PGD B24 allows the PGD B24 to send information to thetransaction server and receive information from the transaction server.The length of this connection may be fixed such that after a certainamount of time the connection between the PGD B24 and the transactionserver is automatically terminated. To reconnect to the transactionserver, the login and registration process must be repeated on the PGDB24.

A transaction server may provide one or more game service transactions.However, the PGD B24 may connect with multiple transaction servers toobtain different game service transactions. For example, server B30 maybe a prize transaction server allowing prize service transactions andserver B415 may be a food transaction server allowing food servicetransactions. When a game service representative receives a prizeservice request from a game player, the PGD B24 may be used to contactthe prize transaction server B30 using a wire-less communication linkbetween the PGD B24 and a transceiver B64 connected to the prizetransaction server B30. Similarly, when a game service representativereceives a food service request from a game player, the PGD B24 may beused to contact the food transaction server B32 using a wire-lesscommunication link between the PGD B24 and a transceiver B66 connectedto the food transaction server B32.

The different transaction servers including the servers B26, B28, B30,B32 may be on separate networks or linked in some manner. For example,server B32 is connected to network B74, server B26 is connected tonetwork B38, server B30 is connected to network B76, and server B28 isconnected to network B78. In this embodiment, a network link B80 existsbetween network B76 and network B38. Thus, server B26 may communicatewith server B30 via the network link B80. A communication link betweendifferent servers may allow the servers to share game servicetransaction information and allow different communication paths betweenthe PGDs and the transaction servers. Likewise, a network link B82exists between network B78 and network B38, permitting the game serverto communicate with the EZ pay server B26.

FIG. 12 is a flow chart depicting a method for providing a game serviceusing a hand-held device. In step B500, a game service representativereceives the PGD B24 and logs in to the device to assign the device. Thecheck out process and assign process are for security and auditingpurposes. In a step B505, the game service representative contacts agame player in the game playing area requesting a game service of sometype. In a step B510, the game service representative selects anappropriate interface on the PGD B24 using menus on the display screenB102 of the PGD that allow the game service representative to provide arequested game service. In a step B515, the game service representativeinputs game service transaction information required to perform a gameservice transaction. For example, to validate an award ticket, the gameservice representative may read information from the ticket using aticket reader. As another example, to provide a food service includingdinner reservation, the game service representative may enter a gameplayer's name to make the reservation.

In a step B520, the transaction information obtained in step B515 isvalidated as required. For example, when a player attempts to cash outan award ticket, the information from the award is validated to ensurethe ticket is both genuine (e.g. the ticket may be counterfeit) and hasnot already been validated. The validation process requires a number oftransfers of information packets between the PGD B24 and the transactionserver. The details of the validation process for an award ticketvalidation are described with reference to FIG. 13. When the transactioninformation is valid, in a step B522, a game service transaction isprovided. For example, a room reservation may be made for a playerrequesting an accommodation service. A confirmation of the game servicetransaction may be sent to the transaction server for transactionreconciliation in a step B545. In one or more embodiments, the methodmay include the step of generating a receipt regarding the game servicetransaction.

In a step B535, after providing the service, a game player may requestanother game service. When a game player requests an additional gameservice, the game service representative returns to step B510 andselects an appropriate interface for the game service. When a gameplayer does not request an additional service and it is not the end of ashift, in a step B530, the game service representative returns to stepB505 and contacts a new game player. In a step B540, when a shift hasended, the game service representative logs out of the PGD B24 andchecks the device at a secure location so that the PGD may be assignedto a different game service representative. In step B545, before the PGDB24 is assigned to a different game service representative, atransaction history reconciliation is performed to ensure that thetransaction history stored on the PGD is consistent with thetransactions previously confirmed with a transaction server during thegame service representative's shift. The transaction history on the PGDB24 may be stored on a removable memory storage device on the PGD. Thus,the memory may be removed from the device for transaction reconciliationand replaced with a new memory. Thus, the device with the new memory maybe assigned to a new game service representative while the transactionhistory from the previous game service representative assigned to thedevice is reconciled.

FIG. 13 is a flow chart depicting a method for validating informationfor providing a personal game service. In the embodiment shown in thefigure, a ticket is validated in a manner consistent with an EZ payticket system. The EZ pay ticket is usually used for award tickets.However, the system may be adapted to provide tickets for other servicesinclude food services, prize services or accommodation services. In astep B600, a request for game service transaction information read froma ticket is sent via a wire-less communication interface on the PGD B24to the appropriate transaction server as described with reference toFIG. 8. In a step B605, the server identifies which clerk validationticket (CVT) B34,B36 owns the ticket. When a CVT owns a ticket, the CVThas stored information regarding the status of a particular ticketissued from a gaming machine connected to the CVT B34,B36. In a stepB610, the server sends a request to pay the ticket to the CVT identifiedas the owner of the ticket. Typically, the pay request indicated aservice on the ticket has been requested. For a cash ticket, a payrequest means a request to cash out the ticket has been made. For a freemeal, a pay request means a request to obtain the meal has been made. Ina step B615, the CVT receives the pay request for the ticket and marksthe ticket pending. While the ticket is pending, any attempts tovalidate a ticket with similar information is blocked by the CVT.

In a step B620, the CVT B34,B36 sends back a reply with contextinformation to the server. As an example, the context information may bethe time and place when the ticket was issued. The information from theCVT to the server may be sent as one or more data packets according to acommunication standard shared by the CVT and server. In a step B625,after receiving the validation reply from the CVT, the server marks thepay request pending and sends a pay order to the PGD B24. While the payrequest is pending, the server will not allow another ticket with thesame information as the ticket with the pay request pending to bevalidated.

In a step B630, the game service representative may choose to accept orreject the pay order form the server. When the game servicerepresentative accepts the pay order from the server, in a step B640,the PGD B24 sends a reply to the transaction server confirming that thetransaction has been performed. The transaction server marks the requestpaid which prevents another ticket with identical information from beingvalidated. In a step B645, the server sends a confirmation to the CVTwhich allows the CVT to mark the request from pending to paid. When thegame service representative rejects the pay order from the server, in astep B650, the PGD B24 sends a reply to the server to mark the payrequest from pending to unpaid. When the ticket is marked unpaid, it maybe validated by another PGD B24 or other validation device. In a stepB655, the server sends the reply to the CVT to mark the pay request frompending to unpaid which allows the ticket to be validated.

In one or more embodiments of the invention, a ticket may be used toprovide credit/value for establishing entitlement to a service or agood, such as the right to play a game or obtain food. The PGD B24 mayinclude a card reader B140. In such an arrangement, a user of the PGDB24 may use a credit card or other magnetic stripe type card forproviding credit/value. In various embodiments, the PGD B24 may includeone or more other types of devices for obtaining/receiving information,such as a smart card reader. In such arrangements, the PGD B24 devicemay read information from the credit card, smart card or other device.These cards may comprise the well known credit or debit cards. Thisinformation may be used to provide the credit/value. In the example of acredit card, the user's account information may be read from the cardand transmitted from the PGD B24 to the controller B42. Creditcard/credit validation information may be associated with a credit cardserver (not shown). This credit card server may be associated with abank or other entity remote from the casino or place of use of the PGDB24 and the controller B42. A communication link may be provided betweenthe controller B42 and remote server for sending credit card informationthere over.

In some embodiments, when a player utilizes a smart card or credit cardthe amount of associated credit or value may be transmitted to the EZPay server B26, and then the credited amount may be treated in exactlythe same manner as if the credit/value had been provided by a ticket.When a player wishes to cash out, the EZ Pay server B26 has a record ofthe original amount credited and the amounts of any awards, losses orpayments, and may then issue the player a ticket representing the user'stotal credit.

In accordance with the invention, a gaming system is provided whichincludes one or more portable gaming devices. The portable gamingdevices permit a player to play one or more games at a variety oflocations, such as a hotel room, restaurant or other location. Theselocations may be remote from traditional gaming areas wherefree-standing, generally stationary gaming machines are located.

In one or more embodiments, a player may use the portable gaming deviceto not only play games, but obtain other products and services. Inaddition, in one or more embodiments, the portable gaming device may beused by game service representatives to perform a variety of functionsand provide a variety of services to a player.

It should be understood that the foregoing descriptions encompass butsome of the implementation technologies that may be used, according tovarious embodiments. Other technologies may be used and arecontemplated, according to various embodiments. Various embodiments maybe performed using any suitable technology, either a technologycurrently existing or a technology which has yet to be developed.

Wireless Interactive System

According to various embodiments, a wireless interactive gaming systemincludes one or more wireless gaming devices, a receiver, and a centralprocessor. The wireless interactive gaming system may also include aterminal which is in communication with the central processor.

In a gaming environment that employs a wireless interactive gamingsystem, a player receives a wireless gaming device from a game officialwho represents a gaming establishment or the “house”. The wirelessgaming device is capable of receiving wager information as commandsentered by the player and transmitting the received wager informationalong with identification information to the receiver by wirelesstransmission.

The wireless interactive gaming system may support a number of wirelessgaming devices within one gaming establishment. The range for thewireless transmission from a wireless gaming device may be up to 100feet.

According to various embodiments, a player inputs information into awireless gaming device, e.g., by pressing push buttons or keys on thedevice. The wireless gaming device may include any number, e.g. from 5to 20, of buttons in a keypad-type arrangement. Buttons may be markedwith the digits 0 through 9 and may also include a “$” (dollar sign) keyand an “enter” key, so that the player may easily input wagerinformation. In various embodiments, the wireless gaming device includesat least eight player selection buttons (e.g., digits) and at least fivespecial function buttons, (e.g., to request the player's balance). Invarious embodiments, the player can input some or all of the wagerinformation into the wireless gaming device by swiping a smart card,which contains a microprocessor chip or a magnetic stripe with encodedinformation, through a smart card reader on the wireless gaming device.

In various embodiments, the wireless gaming device may include anidentifier. The identifier may be, e.g., a series of alphanumericcharacters, a bar code, or a magnetic stripe affixed to the device. Invarious embodiments, the identifier may be a digital code stored in asecure memory, e.g., an electronically erasable programmable read onlymemory (EEPROM). The identifier may thus be readable directly by thegame official if it is a series of alphanumeric characters, or it may beread automatically by a bar code reader or a magnetic stripe reader. Invarious embodiments, the identifier may be programmed in EEPROM or readfrom EEPROM through an RS-232 port, which may be directly connected toencoder and decoder circuitry in a terminal.

A wireless gaming device may store an encryption key. The encryption keymay be used to encrypt information that is transmitted to the receiverfrom the device. Encryption of the information transmitted to thereceiver may limits tampering with the wireless gaming device and mayprevent unauthorized or counterfeit devices from being used with thesystem.

In various embodiments, the encryption key may be stored in the EEPROM.The EEPROM may have the advantage of being a memory device which isdifficult to access if the appropriate encoding circuitry is notavailable. Thus, it is contemplated that the encoding circuitry thatdownloads the encryption key into the device may be securely held by thegame official.

Alternately, the encryption key stored in the EEPROM may be updated andchanged for each player who receives a wireless gaming device bydirectly connecting the device to encoding and decoding circuitry in theterminal through a port at the time the wireless gaming device isdelivered to the player. Moreover, other digital information related tothe game being played may be downloaded from the terminal to the EEPROMthrough a direct connection with the wireless gaming device.

In various embodiments, a microprocessor controls the operation of awireless gaming device. The microprocessor receives digital wagerinformation entered by the player using buttons or keys of the wirelessgaming device. The microprocessor stores an identification codeassociated with the wireless gaming device that is a digital equivalentof the identifier of the wireless gaming device. The microprocessor alsoexecutes software applications for encrypting the identification codeand the player's wager information for transmission to the receiver. Thesoftware contains an algorithm that encrypts a data packet including theidentification code and wager information using the encryption key.

In various embodiments, a wireless gaming device has a unique address,i.e. identification code, for communications with the receiver andstores a player identification that is programmed into the device by thecentral processor. The wireless gaming device may include a wager amountregister, which is maintained and updated using the keys on the device.The value stored in the wager amount register may be included intransmissions from the device to the central processor. The value of thewager amount register may default to a predetermined value, e.g. $1,when the device is initialized, and can be further adjusted by theplayer. The wireless gaming device may also include an account balanceregister, which is maintained in the device and is updated by thecentral processor periodically. The value of the account balanceregister should default to $0 when the device is initialized.

The wireless gaming device may include player function keys. The playerfunction keys may be used to accomplish the following functions:

-   1. Transmit a message to the receiver;-   2. Request account balance information;-   3. Adjust the state of the device;-   4. Affect the data to be sent in the next transmitted message;-   5. Increment the wager amount register by a predetermined amount,    e.g., $10, $5 or $1;-   6. Reset the wager amount register to the default value, e.g., $1.

The firmware of the wireless gaming device may only allow for one pressof buttons or keys every 100 ms. In various embodiments, key presses arenot queued; thus, when a key press message is queued to be sent, noother player input is accepted until the queued message has been sent.

The wireless gaming device may include a transmitter. The transmittermay receive encrypted digital information from the microprocessor andconvert it to a signal for wireless transmission to the receiver. Thetransmitter transmits signals wirelessly, e.g., using radio frequencysignals or infrared signals. Communications between the receiver and thewireless gaming device may be asynchronous at 2400 bits per second.

The wireless gaming device may include an identifying circuit thatdrives the transmitter to periodically send an identification signal tothe receiver. The use of the identifying circuit permits the receiverand the central processor to be assured that the wireless gaming deviceis still active, functioning and present in the gaming establishment.Thus, if the wireless gaming device were removed from the gamingestablishment, the receiver and central processor would no longerreceive and detect the periodic identification signal sent by theidentifying circuit and the transmitter, and the game official may bealerted that the wireless gaming device has been removed from the gamingestablishment.

The wireless gaming device may contain a real-time clock that permitsthe microprocessor to monitor the current time and date. The clock mayconsist of a timing circuit. The microprocessor can use the time anddate information obtained from clock to perform calculations and otherfunctions based on the current time and date.

The wireless gaming device may also include a tag, such as an electronicor magnetic component, which activates an alarm when passed through asensing apparatus located at the entrance and/or exit of the gamingestablishment. Activation of the alarm by passing the wireless gamingdevice with the tag through the sensing apparatus notifies the gameofficial of an attempted removal of the wireless gaming device from thegaming establishment.

The wireless gaming device may be powered by a battery source containedwithin the device. A portable power source such as battery sourcepermits extended cordless operation of the wireless gaming devicethroughout a gaming environment. The battery source may be part of aremovable, rechargeable battery pack that allows the device to berecharged when it is not in use.

In some embodiments, the wireless gaming device displays informationsuch as game information on a device display, such as a liquid crystaldisplay (LCD) with a back-light. The LCD can be used to display thevalues stored in the wager amount register and in the account balanceregister. The wireless gaming device may include a display receiverwhich receives digital information transmitted from the receiver or fromthe central processor.

The device may also include a bicolor light emitting diode (LED). Thebicolor LED is capable of displaying at least two colors, e.g., red andgreen. The green light may flash each time the wireless gaming devicesends a transmission to the receiver, for a period of time to ensurethat it is visible to the player. The red light may illuminate when akey is pressed on the wireless gaming device, and remain lit until thetransmission is received by the receiver; no additional key entry willbe enabled when the red light is lit. The wireless gaming device mayalso include additional light emitting diodes, for example to indicatewhen the account balance register is being updated and the balanceinformation is being displayed on the LCD.

The receiver is capable of receiving signals transmitted from thetransmitter in the wireless gaming device. The receiver contains adecoder, which converts the received signals, e.g., into digitalinformation. This digital information contains at least theidentification code of the wireless gaming device and the player's wagerinformation. The receiver sends the digital information obtained by thedecoder to the central processor. Communications between the centralprocessor and the receiver may be by an RS-232 electrical interface dataserial communications link, with communications being asynchronous ateither 9600 or 19,200 bytes per second, in various embodiments.

The receiver may receive signals from many wireless devices eithersimultaneously or in rapid succession, e.g., using multiplexingtechniques, so that many players can place wagers using their wirelessgaming devices during a short time interval. The receiver differentiatessignals received from the various devices by the identification codeswhich are present in the signals received by the receiver.

The central processor receives the identification code of a wirelessgaming device and the player's wager information from the receiver. Thecentral processor also decrypts this information using the encryptionkey. The central processor is capable of receiving data from multiplewireless gaming devices in an apparently simultaneous manner.

In various embodiments, an account for the player is stored in adatabase of the central processor. The database stores the monetaryvalue of the balance of the account associated with the identifier ofthe wireless gaming device.

The central processor manages the player's account in the database basedon signals received from the player's wireless gaming device as theplayer places wagers and when prizes are awarded during play of thegame. The central processor subtracts money from the player's accountbalance when the player places a wager. The player's account balance maybe automatically increased by the central processor when the player winsa game on which he has placed a wager.

The central processor also stores and is capable of executing softwareapplications containing algorithms to calculate players' accountbalances, wagers, and winnings. The central processor should be able toexecute all of the algorithms which define the actions performed on theplayers' accounts during the progress of the game, as wagers areentered, as winnings paid out, and when funds are added to the players'accounts.

Algorithms in the software in the central processor may also calculateodds and payouts for certain games, such as lottery-type games, duringplay of the game. The odds and payouts at a particular point in time maydepend on the characteristics of the game being conducted by the centralprocessor, and may change as the game progresses. These algorithms maybe executed by the central processor to provide exact calculations ofthe odds of specific game events occurring and the associated prizes fora player's correctly predicting the occurrence of one of those events.The algorithms may be executed continuously, so that real-time odds andpayout can be calculated as the game progresses.

The central processor may perform various actions on players' accounts,resulting in various impacts on the accounts. For example, if the playerwins a game, his account is credited for the payout based on his wager.If the player places a wager using the wireless gaming device, hisaccount is debited by the amount of the wager. If the game officialreceives additional funds from the player, the balance of the player'saccount is credited by the amount of the funds. If the game officialcloses the player's account and disburses funds to him, the balance ofthe player's account is debited by the amount disbursed.

The central processor may be located in the gaming establishment thathouses the receiver. In various embodiments, the central processor maybe located remotely from the receiver, communicating with the receivervia electronic digital telephone communication or wireless transmission,such as a serial communication link. Additionally, the central processormay perform a multitude of functions for various receivers in a varietyof gaming environments.

In some embodiments, communication among the central processor, thereceiver, and the wireless gaming device involves a polling scheme.Polling enables many wireless gaming devices to communicate with areceiver without interference between them. Such a polling scheme mayinclude the transmission of digital signals in the form of strings ofhexadecimal characters. Preferably, all communications between thecentral processor, the receiver and the wireless gaming device areencrypted.

In such a polling scheme, hexadecimal characters may be reserved forspecific control protocols. For example, an attention character is aheader character used to begin all transmissions from the centralprocessor to the receiver, and serves to delineate messages andsynchronize the receipt of messages in the receiver. The same functionis implied when the attention character follows in response to a messagetransmission. An acknowledgement character is another header characterwhich provides acknowledgement to the transmitting device that theprevious message's data has been received and verified. Theacknowledgement character can also function as an attention character tobegin a subsequent message. An end of message character is used toindicate the end of a transmission. Also, a complement next bytecharacter allows for use of reserved protocol characters within a normaltransmission message by avoiding a false control signal when a messagedata byte matches one of the control characters. When a message bytethat needs to be sent matches one of the protocol control characters,the complement next byte character is sent, followed by the one'scomplement of the matching message byte.

Verification of received data may be accomplished using a single bytechecksum of the message information. This checksum may be the one'scomplement of the sum of the original message data, not including theheader character. If the checksum results in a value equal to one of theprotocol control characters, it will be treated in accordance with thefunction of the complement next byte character.

In the polling scheme described above, there are three different modesof communication over the link between the central processor and thereceiver. First, the central processor may send messages intended forthe receiver. Second, the central processor may send messages intendedfor the wireless gaming device. Third, the wireless gaming device maysend messages intended for the central processor. In variousembodiments, messages sent by the central processor may be in the formof a character string formatted with a header character, followed by theidentification code of the intended device, the command or message, anend of message character, and a checksum character. Messages received bythe receiver or the wireless gaming device may be acknowledged bytransmission of an acknowledgement character, but the central processorneed not acknowledge messages sent from the wireless gaming devices.Messages sent by the central processor to be received by the wirelessgaming device may be broadcast to all of the wireless gaming devices. Adevice address may be reserved as a broadcast address for all of thewireless gaming devices, and all devices will receive messages sent tothis address; in this case, no acknowledgement need be returned from anyof the wireless gaming devices.

Each command or message may begin with a command code to signal how theinformation contained in the message is to be used. Command codes formessages sent by the central processor to the receiver and the wirelessgaming device include the following:

-   1. Send a device address list to the receiver;-   2. Send account balance information to the addressed device;-   3. Send command to disable the addressed device;-   4. Send command to enable the addressed device.

In various embodiments, messages sent between the receiver and thewireless gaming device may be in the form of a character stringformatted with a header character, followed by the identification codeof the intended device, the current wager amount, the request, commandor data, an end of message character, and a checksum character. Commandcodes for requests, commands and data sent between the receiver and thewireless gaming device include the following:

-   1. Read user identification;-   2. Read device address;-   3. Read balance register;-   4. Read wager amount register;-   5. Provide device status;-   6. Write user identification;-   7. Write device address;-   8. Write balance register;-   9. Write wager amount;-   10. Perform self test.

These command codes may be used to program the device addresses and useridentification information into the wireless gaming devices, as well asto initialize the device to the default state, i.e., the player'saccount balance of $0. The account balance register and the useridentification may each comprise two characters, the least significantbyte and the most significant byte, allowing for the use a greater rangeof numbers for these values.

Various embodiments include methods by which the central processorcommunicates with a wireless gaming device. The central processortransmits a string of hexadecimal characters, including, e.g., a headercharacter, followed by the device's identification code, followed by arequest, command or data, followed by an end of message character,followed by a checksum character. After the central processor transmitsthe character string, the wireless gaming device receives the string,recognizes its identification code, and executes any instructions in thestring. When the central processor sends an instruction to all wirelessgaming devices simultaneously, all currently active devices receive andexecute the instruction. The wireless gaming device does not send anacknowledgement message to the central processor, although the receivermay receive a transmission from the wireless gaming device that theinstruction was received properly. The central processor alsocommunicates with the receiver in a similar manner, except that thereceiver may send an acknowledgement message to the central processorwhich includes the acknowledgement control protocol character.

Similarly, the wireless gaming device communicates with the receiver andthe central processor using, e.g., hexadecimal character strings. Thereceiver regularly and periodically polls the active wireless gamingdevice for information requests or wagering requests. If the player hasentered a request into the wireless gaming device since the last timethe wireless gaming device was polled, then the player's request will betransmitted to the receiver.

Various embodiments include methods by which the wireless gaming devicereceives and relays player requests to the central processor. First, theplayer enters a request into the wireless gaming device using buttons orkeys. The player then presses a button labeled, e.g., “enter” or “send,”instructing the wireless gaming device to send the request the next timethe receiver polls the wireless gaming device. When this button has beenpressed, the red light of the bicolor LED is illuminated, therebyinforming the player that the request is waiting to be sent. The requestis converted into a hexadecimal character string, including, e.g., aheader character, an identification code (or, alternatively, a separateidentification string reserved for a specific player), the current wageramount, the player's request (e.g., to change the wager amount or tosend a balance update), an end of message character, and a checksumcharacter. The next time the receiver polls the device, the transmitterof the device transmits the character string to the receiver. When thewireless gaming device is polled by the receiver, the green light ofbicolor LED flashes, informing the player that the request has beentransmitted. The receiver receives the request string, and transmits thestring to the central processor. The central processor then acts on theplayer's request.

Using the terminal, the game official may process wagering transactionsand distribute wireless gaming devices. In various embodiments, theterminal may include a bar code reader and/or a magnetic stripe readerfor rapid entry of the identifier of a wireless gaming device prior todelivering the wireless gaming device to the player. Reading devicesprovide information in the form of digital data to the terminal. Theterminal includes a keyboard by which the game official can manuallyenter data to be sent to the central processor. Using either readingdevice, the keyboard, or a combination of these, the game officialcommunicates with the central processor to establish a player's account,increase the balance of the account when the player tenders funds to thegame official, and decrease the balance of the account when the playerseeks to collect the cash value of his account balance.

The player establishes a balance of the account associated with hiswireless gaming device, identified by an identifier, when he receivesthe wireless gaming device from the game official. The player mayincrease the monetary value of the balance of the account by payingadditional funds, in the form of cash or credit, to the game official,who accesses the account stored in the central processor through theterminal to increase the balance of the account.

The wireless gaming device is returned to the game official after theplayer has played one or more games. The readers may be used to read theidentifier for closing out the player's account stored in the databaseof the central processor. The terminal includes a terminal display whichnotifies the game official of the balance of the player's account, sothat the player may be paid the cash value of the remaining balance ofhis account.

In some embodiments, an account status display device is located in thegaming establishment to display players' account information. In variousembodiments, the display device may be, e.g., a liquid crystal displayor a cathode ray tube display. The display device is controlled by thecentral processor, which sends information to the display device fordisplay to the players.

A player may look at the display device to confirm that wagerstransmitted from the wireless gaming device were received by thereceiver and sent to the central processor, to determine the monetarybalance of the player's account, and to verify that the player'swinnings have been credited to his account. The display device displayskey information necessary for a player to participate in a game. Theinformation displayed for each player may include the account number,the player's account balance, the player's last wager, and the player'slast prize award or win.

The display device is divided into specific areas, e.g., a display area,each area showing the account information for one player. The size ofthe display area may be determined by the size of the display device andthe number of players who possess wireless display devices. It iscontemplated that only active accounts will be displayed on the displaydevice. If additional display devices are required to display theinformation concerning a large number of accounts, the central processormay be configured to drive multiple similar display devices.

The display device may also be used to display the odds and payouts forgame wagers. Alternately, a separate display device driven by thecentral processor may be used to display the odds and payoutinformation. Further, the odds and payouts may be displayed on thedevice display 21.

Procedures for using the wireless interactive gaming system, accordingto some embodiments, are now described. In some embodiments, a playertenders money in the form of cash or credit, e.g., $100, to a gameofficial in the gaming establishment to establish an account. The gameofficial chooses a wireless gaming device and uses, e.g., the bar codereader on the terminal to enter the identifier of the wireless gamingdevice into the terminal. The game official also inputs the amount ofmoney tendered, i.e. $100, into the terminal via keyboard. The gameofficial hands the wireless gaming device to the player and tells theplayer that his account is, e.g., Account No. 12. Alternately, theplayer may identify his account number directly from the identifier onthe wireless gaming device. The information entered by the game officialinto the terminal is sent to the central processor, which establishes anaccount record for the player in the database.

For this example, the central processor may be conducting a racing gamein which players choose a winning racing element on which to place awager for the next racing game to be displayed in the gamingestablishment. To place a wager, the player presses buttons on thewireless gaming device.

In some embodiments, the player first presses the button thatcorresponds to the number assigned to the racing element that hechooses, e.g., “3”, and then the wager amount, e.g., “$” and “5”, for a$5 wager. The player then presses the “enter” key to transmit his wagerto the central processor.

In an alternate embodiment, the game may be simplified so that allwagers are placed for a fixed amount, e.g., $1, by pressing a singlebutton on the wireless gaming device. By pressing the button thatcorresponds to the number assigned to the chosen racing element, e.g.,“3”, the player places a $1 bet on racing element number 3. The playercan then place a larger wager on racing element number 3, by pressingthe “3” button the number of times corresponding to the number of $1bets he desires to make, e.g., by pressing “3” five times to wager $5 onracing element number 3.

Each time the player enters a wager, the wireless gaming device forms adata packet containing the player's wager information and theidentification code of the wireless gaming device. The data packet isencrypted and transmitted by the transmitter via wireless communication.

The decoder in the receiver receives the encrypted data packettransmitted by the transmitter. The encrypted data packet is sent to thecentral processor, where it is decrypted. The central processor uses theinformation it has obtained to update the player's account in thedatabase by subtracting the wagered amount from the player's accountbalance and registers the player's wager on the game.

After the game has been played, the central processor awards prizes towinning players based on the wagers they have made and the oddsassociated with the winning outcome of the game. If the player inpossession of the wireless gaming device is a winner, the centralcomputer updates the player's account in the database by adding themonetary amount of the prize to the player's account balance. Otherwise,the player's account remains unchanged.

When the player has finished playing games in the gaming establishment,he returns the wireless gaming device to the game official. The gameofficial again inputs the identifier of the wireless gaming device intothe terminal, e.g., by using the bar code reader of the terminal. Theterminal accesses the player's account information stored in thedatabase of the central processor to obtain the player's remainingaccount balance. The terminal display displays the player's remainingaccount balance to the game official, who then tenders the monetaryvalue of that amount to the player. The account is closed, and thetransaction is recorded in the central processor.

It should be understood that the foregoing descriptions encompass butsome of the implementation technologies that may be used, according tovarious embodiments. Other technologies may be used and arecontemplated, according to various embodiments. Various embodiments maybe performed using any suitable technology, either a technologycurrently existing or a technology which has yet to be developed.

Hand-Held Wireless Game Player

Various embodiments include a hand-held wireless game player for playinga game of chance. The hand-held wireless game player may be generallycharacterized as including: 1) a wire-less communication interface; 2) adisplay screen; 3) one or more input mechanisms; and 4) a microprocessorconfigured i) to present the game of chance on the display screen usingoperating instructions received via the wireless communication interfacefrom a master gaming controller located on a gaming machine and ii) tosend information from input signals generated from the one or more inputmechanisms to the master gaming controller via the wire-lesscommunication interface. The wireless game player may be played in aplurality of venue locations physically separate from the location ofthe gaming machine where the plurality of venue locations are selectedfrom the group consisting of a keno parlor, a bingo parlor, arestaurant, a sports book, a bar, a hotel, a pool area and a casinofloor area. The game of chance played on the wireless game player may beselected from the group consisting of slot games, poker, pachinko,multiple hand poker games, pai-gow poker, black jack, keno, bingo,roulette, craps and a card game. Other games are also contemplated, invarious embodiments.

In various embodiments, the wireless communication interface may use awireless communication protocol selected from the group consisting ofIEEE 802.11a, IEEE 802.11b, IEEE 802.11x, hyperlan/2, Bluetooth, andHomeRF. The wireless game player may also comprise a wire networkinterface for connecting the wireless game player to a wire networkaccess point. In addition, the wireless game player may also comprise aperipheral interface for connecting to a peripheral gaming device wherethe peripheral interface is a serial interface, a parallel interface, aUSB interface, a FireWire interface, an IEEE 1394 interface. Theperipheral gaming device may be a printer, a card reader, a hard driveand a CD-DVD drive.

In various embodiments, the one or more inputs mechanisms on thewireless game player may be selected from the group consisting of atouch screen, an input switch, an input button and biometric inputdevice where the biometric input device may be a finger print reader.The wireless game player may also include a detachable memory interfacedesigned to receive a detachable memory where the detachable memory unitstores graphical programs for one or more games of chance played on thewireless game player. The wireless game player may also comprise one ormore of the following: 1) an audio output interface for receiving a headphone jack, 2) an antenna, 3) a sound projection device, 4) a battery,5) a power interface for supplying power to the wireless game playerfrom an external power source and for charging the battery from theexternal power source, 6) a memory unit where the memory unit may storegraphical programs for one or more games of chance played on thewireless game player, 7) an electronic key interface designed to receivean electronic key, and 8) a video graphics card for rendering images onthe display screen where the video graphics card may be used to render2-D graphics and 3-D graphics.

It should be understood that the foregoing descriptions encompass butsome of the implementation technologies that may be used, according tovarious embodiments. Other technologies may be used and arecontemplated, according to various embodiments. Various embodiments maybe performed using any suitable technology, either a technologycurrently existing or a technology which has yet to be developed.

1. (canceled)
 2. An apparatus comprising at least one processor, and amemory to store instructions which, when executed by the at least oneprocessor, direct the at least one processor to: direct anelectromagnetic transmitter to transmit to an electronic device a signalthat encodes an identifier that is unique to the apparatus, whereinreception of the signal by the electronic device causes the electronicdevice to display a message; responsive to a confirmation action by thedevice, configure the apparatus to control application at the electronicdevice through a transmission of control signals to the electronicdevice, wherein the electronic device is operable to receive controlsignals from a plurality of other apparatus, and wherein the configuringof the apparatus causes the electronic device to react to controlsignals received from the apparatus; receive a signal from a motionsensor, wherein the signal indicates at least one motion of theapparatus; transform the received motion sensor signal to a command tocontrol activity of an application associated with the electronicdevice; direct the electromagnetic transmitter to transmit the commandto the electronic device; receive from the electromagnetic receiverinstructions that have been received wirelessly by the electromagneticreceiver from the electronic device; and responsive to the instructions,provide information to an output of the apparatus.
 3. The apparatus ofclaim 2, wherein the apparatus further includes a switch attached to theapparatus, in which the switch has two stable positions, and wherein theat least one processor further to: detect the position of the switch anddirecting the electromagnetic transmitter to transmit signals only ifthe switch is in a first of the two stable positions.
 4. The apparatusof claim 2, wherein the apparatus comprises at least one of a wristwatchand a wristband.
 5. The apparatus of claim 2, wherein the apparatuscomprises a wristwatch.
 6. The apparatus of claim 2, wherein theapparatus comprises a wristband.
 7. The apparatus of claim 2, whereinthe electronic device comprises a gaming device to provide a gamingapplication.
 8. The apparatus of claim 2, wherein the output comprisesat least one of an audio speaker and haptics transducer to provideinformation to a player.
 9. A method comprising: directing, via at leastone processor of an apparatus, an electromagnetic transmitter totransmit to an electronic device a signal that encodes an identifierthat is unique to the apparatus, wherein reception of the signal by theelectronic device causes the electronic device to display a message;responsive to a confirmation action by the device, configuring, via theat least one processor of the apparatus, the apparatus to controlapplication at the electronic device through a transmission of controlsignals to the electronic device, wherein the electronic device isoperable to receive control signals from a plurality of other apparatus,and wherein the configuring of the apparatus causes the electronicdevice to react to control signals received from the apparatus;receiving, via the at least one processor of the apparatus, a signalfrom a motion sensor, wherein the signal indicates at least one motionof the apparatus; transforming, via the at least one processor of theapparatus, the received motion sensor signal to a command to controlactivity of an application associated with the electronic device;directing, via the at least one processor of the apparatus, theelectromagnetic transmitter to transmit the command to the electronicdevice; receiving, via the at least one processor of the apparatus, fromthe electromagnetic receiver instructions that have been receivedwirelessly by the electromagnetic receiver from the electronic device;and responsive to the instructions, providing, via the at least oneprocessor of the apparatus, information to an output of the apparatus.10. The method of claim 9, further comprising detecting, via the atleast one processor of the apparatus, a position of a switch anddirecting the electromagnetic transmitter to transmit signals only ifthe switch is in a first of two stable positions.
 11. The method ofclaim 9, further comprising configuring, via the at least one processorof the apparatus, the apparatus to operate as at least one of awristwatch and a wristband.
 12. The method of claim 9, furthercomprising configuring, via the at least one processor of the apparatus,the apparatus to operate as a wristwatch.
 13. The method of claim 9,further comprising configuring, via the at least one processor of theapparatus, the apparatus to operate as a wristband.
 14. The method ofclaim 9, further comprising communicating with the electronic deviceconfigured as a gaming device to provide a gaming application.
 15. Themethod of claim 9, further comprising communicating, via the at leastone processor of the apparatus, to operate the output as at least one ofan audio speaker and haptics transducer to provide information to aplayer.
 16. An article of manufacture comprising a computer-readablemedium that is non-transitory, in which the computer-readable medium tostore instructions which, when executed by at least one processor of anapparatus, direct the at least one processor of the apparatus to: directan electromagnetic transmitter to transmit to an electronic device asignal that encodes an identifier that is unique to the apparatus,wherein reception of the signal by the electronic device causes theelectronic device to display a message; responsive to a confirmationaction by the device, configure the apparatus to control application atthe electronic device through a transmission of control signals to theelectronic device, wherein the electronic device is operable to receivecontrol signals from a plurality of other apparatus, and wherein theconfiguring of the apparatus causes the electronic device to react tocontrol signals received from the apparatus; receive a signal from amotion sensor, wherein the signal indicates at least one motion of theapparatus; transform the received motion sensor signal to a command tocontrol activity of an application associated with the electronicdevice; direct the electromagnetic transmitter to transmit the commandto the electronic device; receive from the electromagnetic receiverinstructions that have been received wirelessly by the electromagneticreceiver from the electronic device; and responsive to the instructions,provide information to an output of the apparatus.
 17. The article ofmanufacture of claim 16, in which the computer-readable medium to storeinstructions which, when executed by at least one processor, direct theat least one processor to: detect a position of a switch and direct theelectromagnetic transmitter to transmit signals only if the switch is ina first of two stable positions.
 18. The article of manufacture of claim16, in which the computer-readable medium to store instructions which,when executed by at least one processor, direct the at least oneprocessor to: configure the apparatus to operate as at least one of awristwatch and a wristband.
 19. The article of manufacture of claim 16,in which the computer-readable medium to store instructions which, whenexecuted by at least one processor, direct the at least one processorto: configure the apparatus to operate as a wristwatch.
 20. The articleof manufacture of claim 16, in which the computer-readable medium tostore instructions which, when executed by at least one processor,direct the at least one processor to: configure the apparatus to operateas a wristband.
 21. The article of manufacture of claim 16, in which thecomputer-readable medium to store instructions which, when executed byat least one processor, direct the at least one processor to:communicate with the electronic device configured as a gaming device toprovide a gaming application.